<!doctype html>


<html>
<head>
  <link rel="shortcut icon" href="static/images/favicon.ico" type="image/x-icon">
  <title>array.js (Closure Library API Documentation - JavaScript)</title>
  <link rel="stylesheet" href="static/css/base.css">
  <link rel="stylesheet" href="static/css/doc.css">
  <link rel="stylesheet" href="static/css/sidetree.css">
  <link rel="stylesheet" href="static/css/prettify.css">

  <script>
     var _staticFilePath = "static/";
     var _typeTreeName = "goog";
     var _fileTreeName = "Source";
  </script>

  <script src="static/js/doc.js">
  </script>


  <meta charset="utf8">
</head>

<body onload="grokdoc.onLoad();">

<div id="header">
  <div class="g-section g-tpl-50-50 g-split">
    <div class="g-unit g-first">
      <a id="logo" href="index.html">Closure Library API Documentation</a>
    </div>

    <div class="g-unit">
      <div class="g-c">
        <strong>Go to class or file:</strong>
        <input type="text" id="ac">
      </div>
    </div>
  </div>
</div>





<div class="colmask rightmenu">
<div class="colleft">
    <div class="col1">
      <!-- Column 1 start -->

<div id="title">
       <span class="fn">array.js</span>
</div>

<div class="g-section g-tpl-75-25">
  <div class="g-unit g-first" id="description">
    Utilities for manipulating arrays.
  </div>
  

        <div class="g-unit" id="useful-links">
          <div class="title">Useful links</div>
          <ol>
            <li><a href="closure_goog_array_array.js.source.html"><span class='source-code-link'>Source Code</span></a></li>
            <li><a href="http://code.google.com/p/closure-library/source/browse/closure/goog/array/array.js">Git</a></li>
          </ol>
        </div>
</div>

<h2 class="g-first">File Location</h2>
  <div class="g-section g-tpl-20-80">
    <div class="g-unit g-first">
      <div class="g-c-cell code-label">array/array.js</div>
    </div>
  </div>
<hr/>


   
<br/>

  <div class="legend">
        <span class="key publickey"></span><span>Public</span>
        <span class="key protectedkey"></span><span>Protected</span>
        <span class="key privatekey"></span><span>Private</span>
  </div>









<div class="section">
  <table class="horiz-rule">


  </table>
</div>




  <h2>Global Functions</h2>





<div class="section">
  <table class="horiz-rule">


     <tr class="even entry public">
       <td class="access"></td>






  <td>
    <a name="goog.array.flatten.apply"></a>


     <div class="arg">
       <img align="left" src="static/images/blank.gif">

        <span class="entryNamespace">goog.array.flatten.</span><span class="entryName">apply<span class="args">()</span>
        </span>
      </div>


     <div class="entryOverview">
       <span class='nodesc'>No description.</span>
     </div>

   
  </td>


  <td class="view-code">
     <a href="closure_goog_array_array.js.source.html#line1384">code &raquo;</a>
  </td>
     </tr>


     <tr class="odd entry public">
       <td class="access"></td>






  <td>
    <a name="goog.array.binaryInsert"></a>


     <div class="arg">
       <img align="left" src="static/images/blank.gif">

        <span class="entryNamespace">goog.array.</span><span class="entryName">binaryInsert<span class="args">(<span class="arg">array</span>,&nbsp;<span class="arg">value</span>,&nbsp;<span class="arg">opt_compareFn</span>)</span>
        </span>
        &#8658; <div class="fullType"><span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Boolean">boolean</a></span></div>
      </div>


     <div class="entryOverview">
       Inserts a value into a sorted array. The array is not modified if the
value is already present.
     </div>


    <! -- Method details -->
    <div class="entryDetails">

      <div class="detailsSection">
        <b>Arguments: </b>






<table class="horiz-rule">
     
   <tr class="even">
     <td>
        <span class="entryName">array</span>
        : <div class="fullType">(<span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Array">Array</a></span>.&lt;<span class="type">T</span>&gt;<span>&nbsp;|&nbsp;</span><span class="type">null</span>)</div>
        <div class="entryOverview">The array to modify.</div>
     </td>
   </tr>
     
   <tr class="odd">
     <td>
        <span class="entryName">value</span>
        : <div class="fullType"><span class="type">T</span></div>
        <div class="entryOverview">The object to insert.</div>
     </td>
   </tr>
     
   <tr class="even">
     <td>
        <span class="entryName">opt_compareFn</span>
        : <div class="fullType">(<span class="type">function (T, T): number</span><span>&nbsp;|&nbsp;</span><span class="type">null</span><span>&nbsp;|&nbsp;</span><span class="type">undefined</span>)</div>
        <div class="entryOverview">Optional comparison function by which the array is ordered. Should take 2 arguments to compare, and return a negative number, zero, or a positive number depending on whether the first argument is less than, equal to, or greater than the second.</div>
     </td>
   </tr>
  </table>
      </div>
   
      <div class="detailsSection">
        <b>Returns:</b>&nbsp;<div class="fullType"><span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Boolean">boolean</a></span></div>&nbsp;
            True if an element was inserted.
      </div>
  
    </div>
   
  </td>


  <td class="view-code">
     <a href="closure_goog_array_array.js.source.html#line1232">code &raquo;</a>
  </td>
     </tr>


     <tr class="even entry public">
       <td class="access"></td>






  <td>
    <a name="goog.array.binaryRemove"></a>


     <div class="arg">
       <img align="left" src="static/images/blank.gif">

        <span class="entryNamespace">goog.array.</span><span class="entryName">binaryRemove<span class="args">(<span class="arg">array</span>,&nbsp;<span class="arg">value</span>,&nbsp;<span class="arg">opt_compareFn</span>)</span>
        </span>
        &#8658; <div class="fullType"><span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Boolean">boolean</a></span></div>
      </div>


     <div class="entryOverview">
       Removes a value from a sorted array.
     </div>


    <! -- Method details -->
    <div class="entryDetails">

      <div class="detailsSection">
        <b>Arguments: </b>






<table class="horiz-rule">
     
   <tr class="even">
     <td>
        <span class="entryName">array</span>
        : <div class="fullType">(<span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Array">Array</a></span><span>&nbsp;|&nbsp;</span><span class="type">null</span>)</div>
        <div class="entryOverview">The array to modify.</div>
     </td>
   </tr>
     
   <tr class="odd">
     <td>
        <span class="entryName">value</span>
        : <div class="fullType"><span class="type">*</span></div>
        <div class="entryOverview">The object to remove.</div>
     </td>
   </tr>
     
   <tr class="even">
     <td>
        <span class="entryName">opt_compareFn</span>
        : <div class="fullType">(<span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Function">Function</a></span><span>&nbsp;|&nbsp;</span><span class="type">null</span><span>&nbsp;|&nbsp;</span><span class="type">undefined</span>)</div>
        <div class="entryOverview">Optional comparison function by which the array is ordered. Should take 2 arguments to compare, and return a negative number, zero, or a positive number depending on whether the first argument is less than, equal to, or greater than the second.</div>
     </td>
   </tr>
  </table>
      </div>
   
      <div class="detailsSection">
        <b>Returns:</b>&nbsp;<div class="fullType"><span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Boolean">boolean</a></span></div>&nbsp;
            True if an element was removed.
      </div>
  
    </div>
   
  </td>


  <td class="view-code">
     <a href="closure_goog_array_array.js.source.html#line1252">code &raquo;</a>
  </td>
     </tr>


     <tr class="odd entry public">
       <td class="access"></td>






  <td>
    <a name="goog.array.binarySearch"></a>


     <div class="arg">
       <img align="left" src="static/images/blank.gif">

        <span class="entryNamespace">goog.array.</span><span class="entryName">binarySearch<span class="args">(<span class="arg">arr</span>,&nbsp;<span class="arg">target</span>,&nbsp;<span class="arg">opt_compareFn</span>)</span>
        </span>
        &#8658; <div class="fullType"><span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Number">number</a></span></div>
      </div>


     <div class="entryOverview">
       Searches the specified array for the specified target using the binary
search algorithm.  If no opt_compareFn is specified, elements are compared
using <code>goog.array.defaultCompare</code>, which compares the elements
using the built in &lt; and &gt; operators.  This will produce the expected
behavior for homogeneous arrays of String(s) and Number(s). The array
specified <b>must</b> be sorted in ascending order (as defined by the
comparison function).  If the array is not sorted, results are undefined.
If the array contains multiple instances of the specified target value, any
of these instances may be found.

Runtime: O(log n)
     </div>


    <! -- Method details -->
    <div class="entryDetails">

      <div class="detailsSection">
        <b>Arguments: </b>






<table class="horiz-rule">
     
   <tr class="even">
     <td>
        <span class="entryName">arr</span>
        : <div class="fullType">(<span class="type">null</span><span>&nbsp;|&nbsp;</span><span class="type">{length: number}</span>)</div>
        <div class="entryOverview">The array to be searched.</div>
     </td>
   </tr>
     
   <tr class="odd">
     <td>
        <span class="entryName">target</span>
        : <div class="fullType"><span class="type">*</span></div>
        <div class="entryOverview">The sought value.</div>
     </td>
   </tr>
     
   <tr class="even">
     <td>
        <span class="entryName">opt_compareFn</span>
        : <div class="fullType">(<span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Function">Function</a></span><span>&nbsp;|&nbsp;</span><span class="type">null</span><span>&nbsp;|&nbsp;</span><span class="type">undefined</span>)</div>
        <div class="entryOverview">Optional comparison function by which the array is ordered. Should take 2 arguments to compare, and return a negative number, zero, or a positive number depending on whether the first argument is less than, equal to, or greater than the second.</div>
     </td>
   </tr>
  </table>
      </div>
   
      <div class="detailsSection">
        <b>Returns:</b>&nbsp;<div class="fullType"><span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Number">number</a></span></div>&nbsp;
            Lowest index of the target value if found, otherwise (-(insertion point) - 1). The insertion point is where the value should be inserted into arr to preserve the sorted property.  Return value &gt;= 0 iff target is found.
      </div>
  
    </div>
   
  </td>


  <td class="view-code">
     <a href="closure_goog_array_array.js.source.html#line933">code &raquo;</a>
  </td>
     </tr>


     <tr class="even entry private">
       <td class="access"></td>






  <td>
    <a name="goog.array.binarySearch_"></a>


     <div class="arg">
       <img align="left" src="static/images/blank.gif">

        <span class="entryNamespace">goog.array.</span><span class="entryName">binarySearch_<span class="args">(<span class="arg">arr</span>,&nbsp;<span class="arg">compareFn</span>,&nbsp;<span class="arg">isEvaluator</span>,&nbsp;<span class="arg">opt_target</span>,&nbsp;<span class="arg">opt_selfObj</span>)</span>
        </span>
        &#8658; <div class="fullType"><span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Number">number</a></span></div>
      </div>


     <div class="entryOverview">
       Implementation of a binary search algorithm which knows how to use both
comparison functions and evaluators. If an evaluator is provided, will call
the evaluator with the given optional data object, conforming to the
interface defined in binarySelect. Otherwise, if a comparison function is
provided, will call the comparison function against the given data object.

This implementation purposefully does not use goog.bind or goog.partial for
performance reasons.

Runtime: O(log n)
     </div>


    <! -- Method details -->
    <div class="entryDetails">

      <div class="detailsSection">
        <b>Arguments: </b>






<table class="horiz-rule">
     
   <tr class="even">
     <td>
        <span class="entryName">arr</span>
        : <div class="fullType">(<span class="type">null</span><span>&nbsp;|&nbsp;</span><span class="type">{length: number}</span>)</div>
        <div class="entryOverview">The array to be searched.</div>
     </td>
   </tr>
     
   <tr class="odd">
     <td>
        <span class="entryName">compareFn</span>
        : <div class="fullType">(<span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Function">Function</a></span><span>&nbsp;|&nbsp;</span><span class="type">null</span>)</div>
        <div class="entryOverview">Either an evaluator or a comparison function, as defined by binarySearch and binarySelect above.</div>
     </td>
   </tr>
     
   <tr class="even">
     <td>
        <span class="entryName">isEvaluator</span>
        : <div class="fullType"><span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Boolean">boolean</a></span></div>
        <div class="entryOverview">Whether the function is an evaluator or a comparison function.</div>
     </td>
   </tr>
     
   <tr class="odd">
     <td>
        <span class="entryName">opt_target</span>
        : <div class="fullType"><span class="type">*</span></div>
        <div class="entryOverview">If the function is a comparison function, then this is the target to binary search for.</div>
     </td>
   </tr>
     
   <tr class="even">
     <td>
        <span class="entryName">opt_selfObj</span>
        : <div class="fullType">(<span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Object">Object</a></span><span>&nbsp;|&nbsp;</span><span class="type">null</span><span>&nbsp;|&nbsp;</span><span class="type">undefined</span>)</div>
        <div class="entryOverview">If the function is an evaluator, this is an optional this object for the evaluator.</div>
     </td>
   </tr>
  </table>
      </div>
   
      <div class="detailsSection">
        <b>Returns:</b>&nbsp;<div class="fullType"><span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Number">number</a></span></div>&nbsp;
            Lowest index of the target value if found, otherwise (-(insertion point) - 1). The insertion point is where the value should be inserted into arr to preserve the sorted property.  Return value &gt;= 0 iff target is found.
      </div>
  
    </div>
   
  </td>


  <td class="view-code">
     <a href="closure_goog_array_array.js.source.html#line995">code &raquo;</a>
  </td>
     </tr>


     <tr class="odd entry public">
       <td class="access"></td>






  <td>
    <a name="goog.array.binarySelect"></a>


     <div class="arg">
       <img align="left" src="static/images/blank.gif">

        <span class="entryNamespace">goog.array.</span><span class="entryName">binarySelect<span class="args">(<span class="arg">arr</span>,&nbsp;<span class="arg">evaluator</span>,&nbsp;<span class="arg">opt_obj</span>)</span>
        </span>
        &#8658; <div class="fullType"><span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Number">number</a></span></div>
      </div>


     <div class="entryOverview">
       Selects an index in the specified array using the binary search algorithm.
The evaluator receives an element and determines whether the desired index
is before, at, or after it.  The evaluator must be consistent (formally,
goog.array.map(goog.array.map(arr, evaluator, opt_obj), goog.math.sign)
must be monotonically non-increasing).

Runtime: O(log n)
     </div>


    <! -- Method details -->
    <div class="entryDetails">

      <div class="detailsSection">
        <b>Arguments: </b>






<table class="horiz-rule">
     
   <tr class="even">
     <td>
        <span class="entryName">arr</span>
        : <div class="fullType">(<span class="type">null</span><span>&nbsp;|&nbsp;</span><span class="type">{length: number}</span>)</div>
        <div class="entryOverview">The array to be searched.</div>
     </td>
   </tr>
     
   <tr class="odd">
     <td>
        <span class="entryName">evaluator</span>
        : <div class="fullType">(<span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Function">Function</a></span><span>&nbsp;|&nbsp;</span><span class="type">null</span>)</div>
        <div class="entryOverview">Evaluator function that receives 3 arguments (the element, the index and the array). Should return a negative number, zero, or a positive number depending on whether the desired index is before, at, or after the element passed to it.</div>
     </td>
   </tr>
     
   <tr class="even">
     <td>
        <span class="entryName">opt_obj</span>
        : <div class="fullType">(<span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Object">Object</a></span><span>&nbsp;|&nbsp;</span><span class="type">null</span><span>&nbsp;|&nbsp;</span><span class="type">undefined</span>)</div>
        <div class="entryOverview">The object to be used as the value of 'this' within evaluator.</div>
     </td>
   </tr>
  </table>
      </div>
   
      <div class="detailsSection">
        <b>Returns:</b>&nbsp;<div class="fullType"><span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Number">number</a></span></div>&nbsp;
            Index of the leftmost element matched by the evaluator, if such exists; otherwise (-(insertion point) - 1). The insertion point is the index of the first element for which the evaluator returns negative, or arr.length if no such element exists. The return value is non-negative iff a match is found.
      </div>
  
    </div>
   
  </td>


  <td class="view-code">
     <a href="closure_goog_array_array.js.source.html#line962">code &raquo;</a>
  </td>
     </tr>


     <tr class="even entry public">
       <td class="access"></td>






  <td>
    <a name="goog.array.bucket"></a>


     <div class="arg">
       <img align="left" src="static/images/blank.gif">

        <span class="entryNamespace">goog.array.</span><span class="entryName">bucket<span class="args">(<span class="arg">array</span>,&nbsp;<span class="arg">sorter</span>)</span>
        </span>
        &#8658; <div class="fullType"><span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Object">Object</a></span></div>
      </div>


     <div class="entryOverview">
       Splits an array into disjoint buckets according to a splitting function.
     </div>


    <! -- Method details -->
    <div class="entryDetails">

      <div class="detailsSection">
        <b>Arguments: </b>






<table class="horiz-rule">
     
   <tr class="even">
     <td>
        <span class="entryName">array</span>
        : <div class="fullType">(<span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Array">Array</a></span>.&lt;<span class="type">T</span>&gt;<span>&nbsp;|&nbsp;</span><span class="type">null</span>)</div>
        <div class="entryOverview">The array.</div>
     </td>
   </tr>
     
   <tr class="odd">
     <td>
        <span class="entryName">sorter</span>
        : <div class="fullType"><span class="type">function (T, number, (Array</span>.&lt;<span class="type">T</span>&gt;<span>&nbsp;|&nbsp;</span><span>?</span><span class="type">null)): </span></div>
        <div class="entryOverview">Function to call for every element.  This takes 3 arguments (the element, the index and the array) and must return a valid object key (a string, number, etc), or undefined, if that object should not be placed in a bucket.</div>
     </td>
   </tr>
  </table>
      </div>
   
      <div class="detailsSection">
        <b>Returns:</b>&nbsp;<div class="fullType"><span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Object">Object</a></span></div>&nbsp;
            An object, with keys being all of the unique return values of sorter, and values being arrays containing the items for which the splitter returned that key.
      </div>
  
    </div>
   
  </td>


  <td class="view-code">
     <a href="closure_goog_array_array.js.source.html#line1271">code &raquo;</a>
  </td>
     </tr>


     <tr class="odd entry public">
       <td class="access"></td>






  <td>
    <a name="goog.array.clear"></a>


     <div class="arg">
       <img align="left" src="static/images/blank.gif">

        <span class="entryNamespace">goog.array.</span><span class="entryName">clear<span class="args">(<span class="arg">arr</span>)</span>
        </span>
      </div>


     <div class="entryOverview">
       Clears the array.
     </div>


    <! -- Method details -->
    <div class="entryDetails">

      <div class="detailsSection">
        <b>Arguments: </b>






<table class="horiz-rule">
     
   <tr class="even">
     <td>
        <span class="entryName">arr</span>
        : <div class="fullType">(<span class="type">null</span><span>&nbsp;|&nbsp;</span><span class="type">{length: number}</span>)</div>
        <div class="entryOverview">Array or array like object to clear.</div>
     </td>
   </tr>
  </table>
      </div>
   
  
    </div>
   
  </td>


  <td class="view-code">
     <a href="closure_goog_array_array.js.source.html#line589">code &raquo;</a>
  </td>
     </tr>


     <tr class="even entry public">
       <td class="access"></td>






  <td>
    <a name="goog.array.clone"></a>


     <div class="arg">
       <img align="left" src="static/images/blank.gif">

        <span class="entryNamespace">goog.array.</span><span class="entryName">clone<span class="args">(<span class="arg">arr</span>)</span>
        </span>
        &#8658; <div class="fullType"><span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Array">Array</a></span></div>
      </div>


     <div class="entryOverview">
       Does a shallow copy of an array.
     </div>


    <! -- Method details -->
    <div class="entryDetails">

      <div class="detailsSection">
        <b>Arguments: </b>






<table class="horiz-rule">
     
   <tr class="even">
     <td>
        <span class="entryName">arr</span>
        : <div class="fullType">(<span class="type">null</span><span>&nbsp;|&nbsp;</span><span class="type">{length: number}</span>)</div>
        <div class="entryOverview">Array or array-like object to clone.</div>
     </td>
   </tr>
  </table>
      </div>
   
      <div class="detailsSection">
        <b>Returns:</b>&nbsp;<div class="fullType"><span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Array">Array</a></span></div>&nbsp;
            Clone of the input array.
      </div>
  
    </div>
   
  </td>


  <td class="view-code">
     <a href="closure_goog_array_array.js.source.html#line774">code &raquo;</a>
  </td>
     </tr>


     <tr class="odd entry public">
       <td class="access"></td>






  <td class="deprecated">
    <a name="goog.array.compare"></a>


     <div class="arg">
       <img align="left" src="static/images/blank.gif">

        <span class="entryNamespace">goog.array.</span><span class="entryName">compare<span class="args">(<span class="arg">arr1</span>,&nbsp;<span class="arg">arr2</span>,&nbsp;<span class="arg">opt_equalsFn</span>)</span>
        </span>
        &#8658; <div class="fullType"><span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Boolean">boolean</a></span></div>
      </div>


     <div class="entryOverview">
       <span class="deprecatedMessage">Use goog.array.equals.</span>
       <span class='nodesc'>No description.</span>
     </div>


    <! -- Method details -->
    <div class="entryDetails">

      <div class="detailsSection">
        <b>Arguments: </b>






<table class="horiz-rule">
     
   <tr class="even">
     <td>
        <span class="entryName">arr1</span>
        : <div class="fullType">(<span class="type">null</span><span>&nbsp;|&nbsp;</span><span class="type">{length: number}</span>)</div>
        <div class="entryOverview">See goog.array.equals.</div>
     </td>
   </tr>
     
   <tr class="odd">
     <td>
        <span class="entryName">arr2</span>
        : <div class="fullType">(<span class="type">null</span><span>&nbsp;|&nbsp;</span><span class="type">{length: number}</span>)</div>
        <div class="entryOverview">See goog.array.equals.</div>
     </td>
   </tr>
     
   <tr class="even">
     <td>
        <span class="entryName">opt_equalsFn</span>
        : <div class="fullType">(<span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Function">Function</a></span><span>&nbsp;|&nbsp;</span><span class="type">null</span><span>&nbsp;|&nbsp;</span><span class="type">undefined</span>)</div>
        <div class="entryOverview">See goog.array.equals.</div>
     </td>
   </tr>
  </table>
      </div>
   
      <div class="detailsSection">
        <b>Returns:</b>&nbsp;<div class="fullType"><span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Boolean">boolean</a></span></div>&nbsp;
            See goog.array.equals.
      </div>
  
    </div>
   
  </td>


  <td class="view-code">
     <a href="closure_goog_array_array.js.source.html#line1164">code &raquo;</a>
  </td>
     </tr>


     <tr class="even entry public">
       <td class="access"></td>






  <td>
    <a name="goog.array.compare3"></a>


     <div class="arg">
       <img align="left" src="static/images/blank.gif">

        <span class="entryNamespace">goog.array.</span><span class="entryName">compare3<span class="args">(<span class="arg">arr1</span>,&nbsp;<span class="arg">arr2</span>,&nbsp;<span class="arg">opt_compareFn</span>)</span>
        </span>
        &#8658; <div class="fullType"><span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Number">number</a></span></div>
      </div>


     <div class="entryOverview">
       3-way array compare function.
     </div>


    <! -- Method details -->
    <div class="entryDetails">

      <div class="detailsSection">
        <b>Arguments: </b>






<table class="horiz-rule">
     
   <tr class="even">
     <td>
        <span class="entryName">arr1</span>
        : <div class="fullType"><span class="type">{length: number}</span></div>
        <div class="entryOverview">The first array to compare.</div>
     </td>
   </tr>
     
   <tr class="odd">
     <td>
        <span class="entryName">arr2</span>
        : <div class="fullType"><span class="type">{length: number}</span></div>
        <div class="entryOverview">The second array to compare.</div>
     </td>
   </tr>
     
   <tr class="even">
     <td>
        <span class="entryName">opt_compareFn</span>
        : <div class="fullType">(<span class="type">function (?, ?): number</span><span>&nbsp;|&nbsp;</span><span class="type">null</span><span>&nbsp;|&nbsp;</span><span class="type">undefined</span>)</div>
        <div class="entryOverview">Optional comparison function by which the array is to be ordered. Should take 2 arguments to compare, and return a negative number, zero, or a positive number depending on whether the first argument is less than, equal to, or greater than the second.</div>
     </td>
   </tr>
  </table>
      </div>
   
      <div class="detailsSection">
        <b>Returns:</b>&nbsp;<div class="fullType"><span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Number">number</a></span></div>&nbsp;
            Negative number, zero, or a positive number depending on whether the first argument is less than, equal to, or greater than the second.
      </div>
  
    </div>
   
  </td>


  <td class="view-code">
     <a href="closure_goog_array_array.js.source.html#line1182">code &raquo;</a>
  </td>
     </tr>


     <tr class="odd entry public">
       <td class="access"></td>






  <td>
    <a name="goog.array.concat"></a>


     <div class="arg">
       <img align="left" src="static/images/blank.gif">

        <span class="entryNamespace">goog.array.</span><span class="entryName">concat<span class="args">(<span class="arg">var_args</span>)</span>
        </span>
        &#8658; <div class="fullType"><span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Array">Array</a></span></div>
      </div>


     <div class="entryOverview">
       Returns a new array that is the result of joining the arguments.  If arrays
are passed then their items are added, however, if non-arrays are passed they
will be added to the return array as is.

Note that ArrayLike objects will be added as is, rather than having their
items added.

goog.array.concat([1, 2], [3, 4]) -&gt; [1, 2, 3, 4]
goog.array.concat(0, [1, 2]) -&gt; [0, 1, 2]
goog.array.concat([1, 2], null) -&gt; [1, 2, null]

There is bug in all current versions of IE (6, 7 and 8) where arrays created
in an iframe become corrupted soon (not immediately) after the iframe is
destroyed. This is common if loading data via goog.net.IframeIo, for example.
This corruption only affects the concat method which will start throwing
Catastrophic Errors (#-2147418113).

See <a href="http://endoflow.com/scratch/corrupted-arrays.html">http://endoflow.com/scratch/corrupted-arrays.html</a> for a test case.

Internally goog.array should use this, so that all methods will continue to
work on these broken array objects.
     </div>


    <! -- Method details -->
    <div class="entryDetails">

      <div class="detailsSection">
        <b>Arguments: </b>






<table class="horiz-rule">
     
   <tr class="even">
     <td>
        <span class="entryName">var_args</span>
        : <div class="fullType"><span class="type">*</span></div>
        <div class="entryOverview">Items to concatenate.  Arrays will have each item added, while primitives and objects will be added as is.</div>
     </td>
   </tr>
  </table>
      </div>
   
      <div class="detailsSection">
        <b>Returns:</b>&nbsp;<div class="fullType"><span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Array">Array</a></span></div>&nbsp;
            The new resultant array.
      </div>
  
    </div>
   
  </td>


  <td class="view-code">
     <a href="closure_goog_array_array.js.source.html#line738">code &raquo;</a>
  </td>
     </tr>


     <tr class="even entry public">
       <td class="access"></td>






  <td>
    <a name="goog.array.contains"></a>


     <div class="arg">
       <img align="left" src="static/images/blank.gif">

        <span class="entryNamespace">goog.array.</span><span class="entryName">contains<span class="args">(<span class="arg">arr</span>,&nbsp;<span class="arg">obj</span>)</span>
        </span>
        &#8658; <div class="fullType"><span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Boolean">boolean</a></span></div>
      </div>


     <div class="entryOverview">
       Whether the array contains the given object.
     </div>


    <! -- Method details -->
    <div class="entryDetails">

      <div class="detailsSection">
        <b>Arguments: </b>






<table class="horiz-rule">
     
   <tr class="even">
     <td>
        <span class="entryName">arr</span>
        : <div class="fullType">(<span class="type">null</span><span>&nbsp;|&nbsp;</span><span class="type">{length: number}</span>)</div>
        <div class="entryOverview">The array to test for the presence of the element.</div>
     </td>
   </tr>
     
   <tr class="odd">
     <td>
        <span class="entryName">obj</span>
        : <div class="fullType"><span class="type">*</span></div>
        <div class="entryOverview">The object for which to test.</div>
     </td>
   </tr>
  </table>
      </div>
   
      <div class="detailsSection">
        <b>Returns:</b>&nbsp;<div class="fullType"><span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Boolean">boolean</a></span></div>&nbsp;
            true if obj is present.
      </div>
  
    </div>
   
  </td>


  <td class="view-code">
     <a href="closure_goog_array_array.js.source.html#line570">code &raquo;</a>
  </td>
     </tr>


     <tr class="odd entry public">
       <td class="access"></td>






  <td>
    <a name="goog.array.count"></a>


     <div class="arg">
       <img align="left" src="static/images/blank.gif">

        <span class="entryNamespace">goog.array.</span><span class="entryName">count<span class="args">(<span class="arg">arr</span>,&nbsp;<span class="arg">f</span>,&nbsp;<span class="arg">opt_obj</span>)</span>
        </span>
        &#8658; <div class="fullType"><span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Number">number</a></span></div>
      </div>


     <div class="entryOverview">
       Counts the array elements that fulfill the predicate, i.e. for which the
callback function returns true. Skips holes in the array.
     </div>


    <! -- Method details -->
    <div class="entryDetails">

      <div class="detailsSection">
        <b>Arguments: </b>






<table class="horiz-rule">
     
   <tr class="even">
     <td>
        <span class="entryName">arr</span>
        : <div class="fullType">(<span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Array">Array</a></span>.&lt;<span class="type">T</span>&gt;<span>&nbsp;|&nbsp;</span><span class="type">{length: number}</span>)</div>
        <div class="entryOverview">Array or array like object over which to iterate.</div>
     </td>
   </tr>
     
   <tr class="odd">
     <td>
        <span class="entryName">f</span>
        : <div class="fullType"><span class="type">function (this:S, T, number, ?): boolean</span></div>
        <div class="entryOverview">The function to call for every element. Takes 3 arguments (the element, the index and the array).</div>
     </td>
   </tr>
     
   <tr class="even">
     <td>
        <span class="entryName">opt_obj</span>
        : <div class="fullType">(<span class="type">S</span><span>&nbsp;|&nbsp;</span><span class="type">undefined</span>)</div>
        <div class="entryOverview">The object to be used as the value of 'this' within f.</div>
     </td>
   </tr>
  </table>
      </div>
   
      <div class="detailsSection">
        <b>Returns:</b>&nbsp;<div class="fullType"><span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Number">number</a></span></div>&nbsp;
            The number of the matching elements.
      </div>
  
    </div>
   
  </td>


  <td class="view-code">
     <a href="closure_goog_array_array.js.source.html#line461">code &raquo;</a>
  </td>
     </tr>


     <tr class="even entry public">
       <td class="access"></td>






  <td>
    <a name="goog.array.defaultCompare"></a>


     <div class="arg">
       <img align="left" src="static/images/blank.gif">

        <span class="entryNamespace">goog.array.</span><span class="entryName">defaultCompare<span class="args">(<span class="arg">a</span>,&nbsp;<span class="arg">b</span>)</span>
        </span>
        &#8658; <div class="fullType"><span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Number">number</a></span></div>
      </div>


     <div class="entryOverview">
       Compares its two arguments for order, using the built in &lt; and &gt;
operators.
     </div>


    <! -- Method details -->
    <div class="entryDetails">

      <div class="detailsSection">
        <b>Arguments: </b>






<table class="horiz-rule">
     
   <tr class="even">
     <td>
        <span class="entryName">a</span>
        : <div class="fullType"><span class="type">*</span></div>
        <div class="entryOverview">The first object to be compared.</div>
     </td>
   </tr>
     
   <tr class="odd">
     <td>
        <span class="entryName">b</span>
        : <div class="fullType"><span class="type">*</span></div>
        <div class="entryOverview">The second object to be compared.</div>
     </td>
   </tr>
  </table>
      </div>
   
      <div class="detailsSection">
        <b>Returns:</b>&nbsp;<div class="fullType"><span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Number">number</a></span></div>&nbsp;
            A negative number, zero, or a positive number as the first argument is less than, equal to, or greater than the second.
      </div>
  
    </div>
   
  </td>


  <td class="view-code">
     <a href="closure_goog_array_array.js.source.html#line1203">code &raquo;</a>
  </td>
     </tr>


     <tr class="odd entry public">
       <td class="access"></td>






  <td>
    <a name="goog.array.defaultCompareEquality"></a>


     <div class="arg">
       <img align="left" src="static/images/blank.gif">

        <span class="entryNamespace">goog.array.</span><span class="entryName">defaultCompareEquality<span class="args">(<span class="arg">a</span>,&nbsp;<span class="arg">b</span>)</span>
        </span>
        &#8658; <div class="fullType"><span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Boolean">boolean</a></span></div>
      </div>


     <div class="entryOverview">
       Compares its two arguments for equality, using the built in === operator.
     </div>


    <! -- Method details -->
    <div class="entryDetails">

      <div class="detailsSection">
        <b>Arguments: </b>






<table class="horiz-rule">
     
   <tr class="even">
     <td>
        <span class="entryName">a</span>
        : <div class="fullType"><span class="type">*</span></div>
        <div class="entryOverview">The first object to compare.</div>
     </td>
   </tr>
     
   <tr class="odd">
     <td>
        <span class="entryName">b</span>
        : <div class="fullType"><span class="type">*</span></div>
        <div class="entryOverview">The second object to compare.</div>
     </td>
   </tr>
  </table>
      </div>
   
      <div class="detailsSection">
        <b>Returns:</b>&nbsp;<div class="fullType"><span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Boolean">boolean</a></span></div>&nbsp;
            True if the two arguments are equal, false otherwise.
      </div>
  
    </div>
   
  </td>


  <td class="view-code">
     <a href="closure_goog_array_array.js.source.html#line1214">code &raquo;</a>
  </td>
     </tr>


     <tr class="even entry public">
       <td class="access"></td>






  <td>
    <a name="goog.array.equals"></a>


     <div class="arg">
       <img align="left" src="static/images/blank.gif">

        <span class="entryNamespace">goog.array.</span><span class="entryName">equals<span class="args">(<span class="arg">arr1</span>,&nbsp;<span class="arg">arr2</span>,&nbsp;<span class="arg">opt_equalsFn</span>)</span>
        </span>
        &#8658; <div class="fullType"><span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Boolean">boolean</a></span></div>
      </div>


     <div class="entryOverview">
       Compares two arrays for equality. Two arrays are considered equal if they
have the same length and their corresponding elements are equal according to
the comparison function.
     </div>


    <! -- Method details -->
    <div class="entryDetails">

      <div class="detailsSection">
        <b>Arguments: </b>






<table class="horiz-rule">
     
   <tr class="even">
     <td>
        <span class="entryName">arr1</span>
        : <div class="fullType">(<span class="type">null</span><span>&nbsp;|&nbsp;</span><span class="type">{length: number}</span>)</div>
        <div class="entryOverview">The first array to compare.</div>
     </td>
   </tr>
     
   <tr class="odd">
     <td>
        <span class="entryName">arr2</span>
        : <div class="fullType">(<span class="type">null</span><span>&nbsp;|&nbsp;</span><span class="type">{length: number}</span>)</div>
        <div class="entryOverview">The second array to compare.</div>
     </td>
   </tr>
     
   <tr class="even">
     <td>
        <span class="entryName">opt_equalsFn</span>
        : <div class="fullType">(<span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Function">Function</a></span><span>&nbsp;|&nbsp;</span><span class="type">null</span><span>&nbsp;|&nbsp;</span><span class="type">undefined</span>)</div>
        <div class="entryOverview">Optional comparison function. Should take 2 arguments to compare, and return true if the arguments are equal. Defaults to goog.array.defaultCompareEquality which compares the elements using the built-in &amp;#39;===&amp;#39; operator.</div>
     </td>
   </tr>
  </table>
      </div>
   
      <div class="detailsSection">
        <b>Returns:</b>&nbsp;<div class="fullType"><span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Boolean">boolean</a></span></div>&nbsp;
            Whether the two arrays are equal.
      </div>
  
    </div>
   
  </td>


  <td class="view-code">
     <a href="closure_goog_array_array.js.source.html#line1141">code &raquo;</a>
  </td>
     </tr>


     <tr class="odd entry public">
       <td class="access"></td>






  <td>
    <a name="goog.array.every"></a>


     <div class="arg">
       <img align="left" src="static/images/blank.gif">

        <span class="entryNamespace">goog.array.</span><span class="entryName">every<span class="args">(<span class="arg">arr</span>,&nbsp;<span class="arg">arr</span>,&nbsp;<span class="arg">arr</span>,&nbsp;<span class="arg">f</span>,&nbsp;<span class="arg">f</span>,&nbsp;<span class="arg">f</span>,&nbsp;<span class="arg">opt_obj</span>,&nbsp;<span class="arg">opt_obj</span>,&nbsp;<span class="arg">opt_obj</span>)</span>
        </span>
        &#8658; <div class="fullType"><span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Boolean">boolean</a></span></div>
      </div>


     <div class="entryOverview">
       Call f for each element of an array. If all calls return true, every()
returns true. If any call returns false, every() returns false and
does not continue to check the remaining elements.

See <a href="http://tinyurl.com/developer-mozilla-org-array-every">http://tinyurl.com/developer-mozilla-org-array-every</a>
     </div>


    <! -- Method details -->
    <div class="entryDetails">

      <div class="detailsSection">
        <b>Arguments: </b>






<table class="horiz-rule">
     
   <tr class="even">
     <td>
        <span class="entryName">arr</span>
        : <div class="fullType">(<span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Array">Array</a></span>.&lt;<span class="type">T</span>&gt;<span>&nbsp;|&nbsp;</span><span class="type">null</span><span>&nbsp;|&nbsp;</span><span class="type">{length: number}</span>)</div>
        <div class="entryOverview">Array or array like object over which to iterate.</div>
     </td>
   </tr>
     
   <tr class="odd">
     <td>
        <span class="entryName">arr</span>
        : <div class="fullType">(<span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Array">Array</a></span>.&lt;<span class="type">T</span>&gt;<span>&nbsp;|&nbsp;</span><span class="type">null</span><span>&nbsp;|&nbsp;</span><span class="type">{length: number}</span>)</div>
        <div class="entryOverview">Array or array like object over which to iterate.</div>
     </td>
   </tr>
     
   <tr class="even">
     <td>
        <span class="entryName">arr</span>
        : <div class="fullType">(<span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Array">Array</a></span>.&lt;<span class="type">T</span>&gt;<span>&nbsp;|&nbsp;</span><span class="type">null</span><span>&nbsp;|&nbsp;</span><span class="type">{length: number}</span>)</div>
        <div class="entryOverview">Array or array like object over which to iterate.</div>
     </td>
   </tr>
     
   <tr class="odd">
     <td>
        <span class="entryName">f</span>
        : <div class="fullType">(<span class="type">function (this:S, T, number, ?): boolean</span><span>&nbsp;|&nbsp;</span><span class="type">null</span>)</div>
        <div class="entryOverview">The function to call for for every element. This function takes 3 arguments (the element, the index and the array) and should return a boolean.</div>
     </td>
   </tr>
     
   <tr class="even">
     <td>
        <span class="entryName">f</span>
        : <div class="fullType">(<span class="type">function (this:S, T, number, ?): boolean</span><span>&nbsp;|&nbsp;</span><span class="type">null</span>)</div>
        <div class="entryOverview">The function to call for for every element. This function takes 3 arguments (the element, the index and the array) and should return a boolean.</div>
     </td>
   </tr>
     
   <tr class="odd">
     <td>
        <span class="entryName">f</span>
        : <div class="fullType">(<span class="type">function (this:S, T, number, ?): boolean</span><span>&nbsp;|&nbsp;</span><span class="type">null</span>)</div>
        <div class="entryOverview">The function to call for for every element. This function takes 3 arguments (the element, the index and the array) and should return a boolean.</div>
     </td>
   </tr>
     
   <tr class="even">
     <td>
        <span class="entryName">opt_obj</span>
        : <div class="fullType">(<span class="type">S</span><span>&nbsp;|&nbsp;</span><span class="type">undefined</span>)</div>
        <div class="entryOverview">The object to be used as the value of 'this' within f.</div>
     </td>
   </tr>
     
   <tr class="odd">
     <td>
        <span class="entryName">opt_obj</span>
        : <div class="fullType">(<span class="type">S</span><span>&nbsp;|&nbsp;</span><span class="type">undefined</span>)</div>
        <div class="entryOverview">The object to be used as the value of 'this' within f.</div>
     </td>
   </tr>
     
   <tr class="even">
     <td>
        <span class="entryName">opt_obj</span>
        : <div class="fullType">(<span class="type">S</span><span>&nbsp;|&nbsp;</span><span class="type">undefined</span>)</div>
        <div class="entryOverview">The object to be used as the value of 'this' within f.</div>
     </td>
   </tr>
  </table>
      </div>
   
      <div class="detailsSection">
        <b>Returns:</b>&nbsp;<div class="fullType"><span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Boolean">boolean</a></span></div>&nbsp;
            false if any element fails the test.
      </div>
  
    </div>
   
  </td>


  <td class="view-code">
     <a href="closure_goog_array_array.js.source.html#line430">code &raquo;</a>
  </td>
     </tr>


     <tr class="even entry public">
       <td class="access"></td>






  <td>
    <a name="goog.array.extend"></a>


     <div class="arg">
       <img align="left" src="static/images/blank.gif">

        <span class="entryNamespace">goog.array.</span><span class="entryName">extend<span class="args">(<span class="arg">arr1</span>,&nbsp;<span class="arg">var_args</span>)</span>
        </span>
      </div>


     <div class="entryOverview">
       Extends an array with another array, element, or "array like" object.
This function operates 'in-place', it does not create a new Array.

Example:
var a = [];
goog.array.extend(a, [0, 1]);
a; // [0, 1]
goog.array.extend(a, 2);
a; // [0, 1, 2]
     </div>


    <! -- Method details -->
    <div class="entryDetails">

      <div class="detailsSection">
        <b>Arguments: </b>






<table class="horiz-rule">
     
   <tr class="even">
     <td>
        <span class="entryName">arr1</span>
        : <div class="fullType">(<span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Array">Array</a></span><span>&nbsp;|&nbsp;</span><span class="type">null</span>)</div>
        <div class="entryOverview">The array to modify.</div>
     </td>
   </tr>
     
   <tr class="odd">
     <td>
        <span class="entryName">var_args</span>
        : <div class="fullType"><span class="type">*</span></div>
        <div class="entryOverview">The elements or arrays of elements to add to arr1.</div>
     </td>
   </tr>
  </table>
      </div>
   
  
    </div>
   
  </td>


  <td class="view-code">
     <a href="closure_goog_array_array.js.source.html#line791">code &raquo;</a>
  </td>
     </tr>


     <tr class="odd entry public">
       <td class="access"></td>






  <td>
    <a name="goog.array.filter"></a>


     <div class="arg">
       <img align="left" src="static/images/blank.gif">

        <span class="entryNamespace">goog.array.</span><span class="entryName">filter<span class="args">(<span class="arg">arr</span>,&nbsp;<span class="arg">arr</span>,&nbsp;<span class="arg">arr</span>,&nbsp;<span class="arg">f</span>,&nbsp;<span class="arg">f</span>,&nbsp;<span class="arg">f</span>,&nbsp;<span class="arg">opt_obj</span>,&nbsp;<span class="arg">opt_obj</span>,&nbsp;<span class="arg">opt_obj</span>)</span>
        </span>
        &#8658; <div class="fullType"><span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Array">Array</a></span></div>
      </div>


     <div class="entryOverview">
       Calls a function for each element in an array, and if the function returns
true adds the element to a new array.

See <a href="http://tinyurl.com/developer-mozilla-org-array-filter">http://tinyurl.com/developer-mozilla-org-array-filter</a>
     </div>


    <! -- Method details -->
    <div class="entryDetails">

      <div class="detailsSection">
        <b>Arguments: </b>






<table class="horiz-rule">
     
   <tr class="even">
     <td>
        <span class="entryName">arr</span>
        : <div class="fullType">(<span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Array">Array</a></span>.&lt;<span class="type">T</span>&gt;<span>&nbsp;|&nbsp;</span><span class="type">null</span><span>&nbsp;|&nbsp;</span><span class="type">{length: number}</span>)</div>
        <div class="entryOverview">Array or array like object over which to iterate.</div>
     </td>
   </tr>
     
   <tr class="odd">
     <td>
        <span class="entryName">arr</span>
        : <div class="fullType">(<span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Array">Array</a></span>.&lt;<span class="type">T</span>&gt;<span>&nbsp;|&nbsp;</span><span class="type">null</span><span>&nbsp;|&nbsp;</span><span class="type">{length: number}</span>)</div>
        <div class="entryOverview">Array or array like object over which to iterate.</div>
     </td>
   </tr>
     
   <tr class="even">
     <td>
        <span class="entryName">arr</span>
        : <div class="fullType">(<span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Array">Array</a></span>.&lt;<span class="type">T</span>&gt;<span>&nbsp;|&nbsp;</span><span class="type">null</span><span>&nbsp;|&nbsp;</span><span class="type">{length: number}</span>)</div>
        <div class="entryOverview">Array or array like object over which to iterate.</div>
     </td>
   </tr>
     
   <tr class="odd">
     <td>
        <span class="entryName">f</span>
        : <div class="fullType">(<span class="type">function (this:S, T, number, ?): boolean</span><span>&nbsp;|&nbsp;</span><span class="type">null</span>)</div>
        <div class="entryOverview">The function to call for every element. This function takes 3 arguments (the element, the index and the array) and must return a Boolean. If the return value is true the element is added to the result array. If it is false the element is not included.</div>
     </td>
   </tr>
     
   <tr class="even">
     <td>
        <span class="entryName">f</span>
        : <div class="fullType">(<span class="type">function (this:S, T, number, ?): boolean</span><span>&nbsp;|&nbsp;</span><span class="type">null</span>)</div>
        <div class="entryOverview">The function to call for every element. This function takes 3 arguments (the element, the index and the array) and must return a Boolean. If the return value is true the element is added to the result array. If it is false the element is not included.</div>
     </td>
   </tr>
     
   <tr class="odd">
     <td>
        <span class="entryName">f</span>
        : <div class="fullType">(<span class="type">function (this:S, T, number, ?): boolean</span><span>&nbsp;|&nbsp;</span><span class="type">null</span>)</div>
        <div class="entryOverview">The function to call for every element. This function takes 3 arguments (the element, the index and the array) and must return a Boolean. If the return value is true the element is added to the result array. If it is false the element is not included.</div>
     </td>
   </tr>
     
   <tr class="even">
     <td>
        <span class="entryName">opt_obj</span>
        : <div class="fullType">(<span class="type">S</span><span>&nbsp;|&nbsp;</span><span class="type">undefined</span>)</div>
        <div class="entryOverview">The object to be used as the value of 'this' within f.</div>
     </td>
   </tr>
     
   <tr class="odd">
     <td>
        <span class="entryName">opt_obj</span>
        : <div class="fullType">(<span class="type">S</span><span>&nbsp;|&nbsp;</span><span class="type">undefined</span>)</div>
        <div class="entryOverview">The object to be used as the value of 'this' within f.</div>
     </td>
   </tr>
     
   <tr class="even">
     <td>
        <span class="entryName">opt_obj</span>
        : <div class="fullType">(<span class="type">S</span><span>&nbsp;|&nbsp;</span><span class="type">undefined</span>)</div>
        <div class="entryOverview">The object to be used as the value of 'this' within f.</div>
     </td>
   </tr>
  </table>
      </div>
   
      <div class="detailsSection">
        <b>Returns:</b>&nbsp;<div class="fullType"><span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Array">Array</a></span></div>&nbsp;
            a new array in which only elements that passed the test are present.
      </div>
  
    </div>
   
  </td>


  <td class="view-code">
     <a href="closure_goog_array_array.js.source.html#line234">code &raquo;</a>
  </td>
     </tr>


     <tr class="even entry public">
       <td class="access"></td>






  <td>
    <a name="goog.array.find"></a>


     <div class="arg">
       <img align="left" src="static/images/blank.gif">

        <span class="entryNamespace">goog.array.</span><span class="entryName">find<span class="args">(<span class="arg">arr</span>,&nbsp;<span class="arg">f</span>,&nbsp;<span class="arg">opt_obj</span>)</span>
        </span>
        &#8658; <div class="fullType"><span class="type">T</span></div>
      </div>


     <div class="entryOverview">
       Search an array for the first element that satisfies a given condition and
return that element.
     </div>


    <! -- Method details -->
    <div class="entryDetails">

      <div class="detailsSection">
        <b>Arguments: </b>






<table class="horiz-rule">
     
   <tr class="even">
     <td>
        <span class="entryName">arr</span>
        : <div class="fullType">(<span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Array">Array</a></span>.&lt;<span class="type">T</span>&gt;<span>&nbsp;|&nbsp;</span><span class="type">null</span><span>&nbsp;|&nbsp;</span><span class="type">{length: number}</span>)</div>
        <div class="entryOverview">Array or array like object over which to iterate.</div>
     </td>
   </tr>
     
   <tr class="odd">
     <td>
        <span class="entryName">f</span>
        : <div class="fullType">(<span class="type">function (this:S, T, number, ?): boolean</span><span>&nbsp;|&nbsp;</span><span class="type">null</span>)</div>
        <div class="entryOverview">The function to call for every element. This function takes 3 arguments (the element, the index and the array) and should return a boolean.</div>
     </td>
   </tr>
     
   <tr class="even">
     <td>
        <span class="entryName">opt_obj</span>
        : <div class="fullType">(<span class="type">S</span><span>&nbsp;|&nbsp;</span><span class="type">undefined</span>)</div>
        <div class="entryOverview">An optional "this" context for the function.</div>
     </td>
   </tr>
  </table>
      </div>
   
      <div class="detailsSection">
        <b>Returns:</b>&nbsp;<div class="fullType"><span class="type">T</span></div>&nbsp;
            The first array element that passes the test, or null if no element is found.
      </div>
  
    </div>
   
  </td>


  <td class="view-code">
     <a href="closure_goog_array_array.js.source.html#line485">code &raquo;</a>
  </td>
     </tr>


     <tr class="odd entry public">
       <td class="access"></td>






  <td>
    <a name="goog.array.findIndex"></a>


     <div class="arg">
       <img align="left" src="static/images/blank.gif">

        <span class="entryNamespace">goog.array.</span><span class="entryName">findIndex<span class="args">(<span class="arg">arr</span>,&nbsp;<span class="arg">f</span>,&nbsp;<span class="arg">opt_obj</span>)</span>
        </span>
        &#8658; <div class="fullType"><span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Number">number</a></span></div>
      </div>


     <div class="entryOverview">
       Search an array for the first element that satisfies a given condition and
return its index.
     </div>


    <! -- Method details -->
    <div class="entryDetails">

      <div class="detailsSection">
        <b>Arguments: </b>






<table class="horiz-rule">
     
   <tr class="even">
     <td>
        <span class="entryName">arr</span>
        : <div class="fullType">(<span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Array">Array</a></span>.&lt;<span class="type">T</span>&gt;<span>&nbsp;|&nbsp;</span><span class="type">null</span><span>&nbsp;|&nbsp;</span><span class="type">{length: number}</span>)</div>
        <div class="entryOverview">Array or array like object over which to iterate.</div>
     </td>
   </tr>
     
   <tr class="odd">
     <td>
        <span class="entryName">f</span>
        : <div class="fullType">(<span class="type">function (this:S, T, number, ?): boolean</span><span>&nbsp;|&nbsp;</span><span class="type">null</span>)</div>
        <div class="entryOverview">The function to call for every element. This function takes 3 arguments (the element, the index and the array) and should return a boolean.</div>
     </td>
   </tr>
     
   <tr class="even">
     <td>
        <span class="entryName">opt_obj</span>
        : <div class="fullType">(<span class="type">S</span><span>&nbsp;|&nbsp;</span><span class="type">undefined</span>)</div>
        <div class="entryOverview">An optional "this" context for the function.</div>
     </td>
   </tr>
  </table>
      </div>
   
      <div class="detailsSection">
        <b>Returns:</b>&nbsp;<div class="fullType"><span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Number">number</a></span></div>&nbsp;
            The index of the first array element that passes the test, or -1 if no element is found.
      </div>
  
    </div>
   
  </td>


  <td class="view-code">
     <a href="closure_goog_array_array.js.source.html#line505">code &raquo;</a>
  </td>
     </tr>


     <tr class="even entry public">
       <td class="access"></td>






  <td>
    <a name="goog.array.findIndexRight"></a>


     <div class="arg">
       <img align="left" src="static/images/blank.gif">

        <span class="entryNamespace">goog.array.</span><span class="entryName">findIndexRight<span class="args">(<span class="arg">arr</span>,&nbsp;<span class="arg">f</span>,&nbsp;<span class="arg">opt_obj</span>)</span>
        </span>
        &#8658; <div class="fullType"><span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Number">number</a></span></div>
      </div>


     <div class="entryOverview">
       Search an array (in reverse order) for the last element that satisfies a
given condition and return its index.
     </div>


    <! -- Method details -->
    <div class="entryDetails">

      <div class="detailsSection">
        <b>Arguments: </b>






<table class="horiz-rule">
     
   <tr class="even">
     <td>
        <span class="entryName">arr</span>
        : <div class="fullType">(<span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Array">Array</a></span>.&lt;<span class="type">T</span>&gt;<span>&nbsp;|&nbsp;</span><span class="type">null</span><span>&nbsp;|&nbsp;</span><span class="type">{length: number}</span>)</div>
        <div class="entryOverview">Array or array like object over which to iterate.</div>
     </td>
   </tr>
     
   <tr class="odd">
     <td>
        <span class="entryName">f</span>
        : <div class="fullType">(<span class="type">function (this:S, T, number, ?): boolean</span><span>&nbsp;|&nbsp;</span><span class="type">null</span>)</div>
        <div class="entryOverview">The function to call for every element. This function takes 3 arguments (the element, the index and the array) and should return a boolean.</div>
     </td>
   </tr>
     
   <tr class="even">
     <td>
        <span class="entryName">opt_obj</span>
        : <div class="fullType">(<span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Object">Object</a></span><span>&nbsp;|&nbsp;</span><span class="type">null</span><span>&nbsp;|&nbsp;</span><span class="type">undefined</span>)</div>
        <div class="entryOverview">An optional "this" context for the function.</div>
     </td>
   </tr>
  </table>
      </div>
   
      <div class="detailsSection">
        <b>Returns:</b>&nbsp;<div class="fullType"><span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Number">number</a></span></div>&nbsp;
            The index of the last array element that passes the test, or -1 if no element is found.
      </div>
  
    </div>
   
  </td>


  <td class="view-code">
     <a href="closure_goog_array_array.js.source.html#line551">code &raquo;</a>
  </td>
     </tr>


     <tr class="odd entry public">
       <td class="access"></td>






  <td>
    <a name="goog.array.findRight"></a>


     <div class="arg">
       <img align="left" src="static/images/blank.gif">

        <span class="entryNamespace">goog.array.</span><span class="entryName">findRight<span class="args">(<span class="arg">arr</span>,&nbsp;<span class="arg">f</span>,&nbsp;<span class="arg">opt_obj</span>)</span>
        </span>
        &#8658; <div class="fullType"><span class="type">T</span></div>
      </div>


     <div class="entryOverview">
       Search an array (in reverse order) for the last element that satisfies a
given condition and return that element.
     </div>


    <! -- Method details -->
    <div class="entryDetails">

      <div class="detailsSection">
        <b>Arguments: </b>






<table class="horiz-rule">
     
   <tr class="even">
     <td>
        <span class="entryName">arr</span>
        : <div class="fullType">(<span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Array">Array</a></span>.&lt;<span class="type">T</span>&gt;<span>&nbsp;|&nbsp;</span><span class="type">null</span><span>&nbsp;|&nbsp;</span><span class="type">{length: number}</span>)</div>
        <div class="entryOverview">Array or array like object over which to iterate.</div>
     </td>
   </tr>
     
   <tr class="odd">
     <td>
        <span class="entryName">f</span>
        : <div class="fullType">(<span class="type">function (this:S, T, number, ?): boolean</span><span>&nbsp;|&nbsp;</span><span class="type">null</span>)</div>
        <div class="entryOverview">The function to call for every element. This function takes 3 arguments (the element, the index and the array) and should return a boolean.</div>
     </td>
   </tr>
     
   <tr class="even">
     <td>
        <span class="entryName">opt_obj</span>
        : <div class="fullType">(<span class="type">S</span><span>&nbsp;|&nbsp;</span><span class="type">undefined</span>)</div>
        <div class="entryOverview">An optional "this" context for the function.</div>
     </td>
   </tr>
  </table>
      </div>
   
      <div class="detailsSection">
        <b>Returns:</b>&nbsp;<div class="fullType"><span class="type">T</span></div>&nbsp;
            The last array element that passes the test, or null if no element is found.
      </div>
  
    </div>
   
  </td>


  <td class="view-code">
     <a href="closure_goog_array_array.js.source.html#line531">code &raquo;</a>
  </td>
     </tr>


     <tr class="even entry public">
       <td class="access"></td>






  <td>
    <a name="goog.array.flatten"></a>


     <div class="arg">
       <img align="left" src="static/images/blank.gif">

        <span class="entryNamespace">goog.array.</span><span class="entryName">flatten<span class="args">(<span class="arg">var_args</span>)</span>
        </span>
        &#8658; <div class="fullType"><span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Array">Array</a></span></div>
      </div>


     <div class="entryOverview">
       Returns an array consisting of every argument with all arrays
expanded in-place recursively.
     </div>


    <! -- Method details -->
    <div class="entryDetails">

      <div class="detailsSection">
        <b>Arguments: </b>






<table class="horiz-rule">
     
   <tr class="even">
     <td>
        <span class="entryName">var_args</span>
        : <div class="fullType"><span class="type">*</span></div>
        <div class="entryOverview">The values to flatten.</div>
     </td>
   </tr>
  </table>
      </div>
   
      <div class="detailsSection">
        <b>Returns:</b>&nbsp;<div class="fullType"><span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Array">Array</a></span></div>&nbsp;
            An array containing the flattened values.
      </div>
  
    </div>
   
  </td>


  <td class="view-code">
     <a href="closure_goog_array_array.js.source.html#line1384">code &raquo;</a>
  </td>
     </tr>


     <tr class="odd entry public">
       <td class="access"></td>






  <td>
    <a name="goog.array.forEach"></a>


     <div class="arg">
       <img align="left" src="static/images/blank.gif">

        <span class="entryNamespace">goog.array.</span><span class="entryName">forEach<span class="args">(<span class="arg">arr</span>,&nbsp;<span class="arg">arr</span>,&nbsp;<span class="arg">arr</span>,&nbsp;<span class="arg">f</span>,&nbsp;<span class="arg">f</span>,&nbsp;<span class="arg">f</span>,&nbsp;<span class="arg">opt_obj</span>,&nbsp;<span class="arg">opt_obj</span>,&nbsp;<span class="arg">opt_obj</span>)</span>
        </span>
      </div>


     <div class="entryOverview">
       Calls a function for each element in an array. Skips holes in the array.
See <a href="http://tinyurl.com/developer-mozilla-org-array-foreach">http://tinyurl.com/developer-mozilla-org-array-foreach</a>
     </div>


    <! -- Method details -->
    <div class="entryDetails">

      <div class="detailsSection">
        <b>Arguments: </b>






<table class="horiz-rule">
     
   <tr class="even">
     <td>
        <span class="entryName">arr</span>
        : <div class="fullType">(<span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Array">Array</a></span>.&lt;<span class="type">T</span>&gt;<span>&nbsp;|&nbsp;</span><span class="type">null</span><span>&nbsp;|&nbsp;</span><span class="type">{length: number}</span>)</div>
        <div class="entryOverview">Array or array like object over which to iterate.</div>
     </td>
   </tr>
     
   <tr class="odd">
     <td>
        <span class="entryName">arr</span>
        : <div class="fullType">(<span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Array">Array</a></span>.&lt;<span class="type">T</span>&gt;<span>&nbsp;|&nbsp;</span><span class="type">null</span><span>&nbsp;|&nbsp;</span><span class="type">{length: number}</span>)</div>
        <div class="entryOverview">Array or array like object over which to iterate.</div>
     </td>
   </tr>
     
   <tr class="even">
     <td>
        <span class="entryName">arr</span>
        : <div class="fullType">(<span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Array">Array</a></span>.&lt;<span class="type">T</span>&gt;<span>&nbsp;|&nbsp;</span><span class="type">null</span><span>&nbsp;|&nbsp;</span><span class="type">{length: number}</span>)</div>
        <div class="entryOverview">Array or array like object over which to iterate.</div>
     </td>
   </tr>
     
   <tr class="odd">
     <td>
        <span class="entryName">f</span>
        : <div class="fullType">(<span>?</span><span class="type">function (this:S, T, number, ?): </span><span>&nbsp;|&nbsp;</span><span class="type">null</span>)</div>
        <div class="entryOverview">The function to call for every element. This function takes 3 arguments (the element, the index and the array). The return value is ignored.</div>
     </td>
   </tr>
     
   <tr class="even">
     <td>
        <span class="entryName">f</span>
        : <div class="fullType">(<span>?</span><span class="type">function (this:S, T, number, ?): </span><span>&nbsp;|&nbsp;</span><span class="type">null</span>)</div>
        <div class="entryOverview">The function to call for every element. This function takes 3 arguments (the element, the index and the array). The return value is ignored.</div>
     </td>
   </tr>
     
   <tr class="odd">
     <td>
        <span class="entryName">f</span>
        : <div class="fullType">(<span>?</span><span class="type">function (this:S, T, number, ?): </span><span>&nbsp;|&nbsp;</span><span class="type">null</span>)</div>
        <div class="entryOverview">The function to call for every element. This function takes 3 arguments (the element, the index and the array). The return value is ignored.</div>
     </td>
   </tr>
     
   <tr class="even">
     <td>
        <span class="entryName">opt_obj</span>
        : <div class="fullType">(<span class="type">S</span><span>&nbsp;|&nbsp;</span><span class="type">undefined</span>)</div>
        <div class="entryOverview">The object to be used as the value of 'this' within f.</div>
     </td>
   </tr>
     
   <tr class="odd">
     <td>
        <span class="entryName">opt_obj</span>
        : <div class="fullType">(<span class="type">S</span><span>&nbsp;|&nbsp;</span><span class="type">undefined</span>)</div>
        <div class="entryOverview">The object to be used as the value of 'this' within f.</div>
     </td>
   </tr>
     
   <tr class="even">
     <td>
        <span class="entryName">opt_obj</span>
        : <div class="fullType">(<span class="type">S</span><span>&nbsp;|&nbsp;</span><span class="type">undefined</span>)</div>
        <div class="entryOverview">The object to be used as the value of 'this' within f.</div>
     </td>
   </tr>
  </table>
      </div>
   
  
    </div>
   
  </td>


  <td class="view-code">
     <a href="closure_goog_array_array.js.source.html#line172">code &raquo;</a>
  </td>
     </tr>


     <tr class="even entry public">
       <td class="access"></td>






  <td>
    <a name="goog.array.forEachRight"></a>


     <div class="arg">
       <img align="left" src="static/images/blank.gif">

        <span class="entryNamespace">goog.array.</span><span class="entryName">forEachRight<span class="args">(<span class="arg">arr</span>,&nbsp;<span class="arg">f</span>,&nbsp;<span class="arg">opt_obj</span>)</span>
        </span>
      </div>


     <div class="entryOverview">
       Calls a function for each element in an array, starting from the last
element rather than the first.
     </div>


    <! -- Method details -->
    <div class="entryDetails">

      <div class="detailsSection">
        <b>Arguments: </b>






<table class="horiz-rule">
     
   <tr class="even">
     <td>
        <span class="entryName">arr</span>
        : <div class="fullType">(<span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Array">Array</a></span>.&lt;<span class="type">T</span>&gt;<span>&nbsp;|&nbsp;</span><span class="type">null</span><span>&nbsp;|&nbsp;</span><span class="type">{length: number}</span>)</div>
        <div class="entryOverview">Array or array like object over which to iterate.</div>
     </td>
   </tr>
     
   <tr class="odd">
     <td>
        <span class="entryName">f</span>
        : <div class="fullType">(<span>?</span><span class="type">function (this:S, T, number, ?): </span><span>&nbsp;|&nbsp;</span><span class="type">null</span>)</div>
        <div class="entryOverview">The function to call for every element. This function takes 3 arguments (the element, the index and the array). The return value is ignored.</div>
     </td>
   </tr>
     
   <tr class="even">
     <td>
        <span class="entryName">opt_obj</span>
        : <div class="fullType">(<span class="type">S</span><span>&nbsp;|&nbsp;</span><span class="type">undefined</span>)</div>
        <div class="entryOverview">The object to be used as the value of 'this' within f.</div>
     </td>
   </tr>
  </table>
      </div>
   
  
    </div>
   
  </td>


  <td class="view-code">
     <a href="closure_goog_array_array.js.source.html#line204">code &raquo;</a>
  </td>
     </tr>


     <tr class="odd entry public">
       <td class="access"></td>






  <td>
    <a name="goog.array.indexOf"></a>


     <div class="arg">
       <img align="left" src="static/images/blank.gif">

        <span class="entryNamespace">goog.array.</span><span class="entryName">indexOf<span class="args">(<span class="arg">arr</span>,&nbsp;<span class="arg">arr</span>,&nbsp;<span class="arg">arr</span>,&nbsp;<span class="arg">obj</span>,&nbsp;<span class="arg">obj</span>,&nbsp;<span class="arg">obj</span>,&nbsp;<span class="arg">opt_fromIndex</span>,&nbsp;<span class="arg">opt_fromIndex</span>,&nbsp;<span class="arg">opt_fromIndex</span>)</span>
        </span>
        &#8658; <div class="fullType"><span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Number">number</a></span></div>
      </div>


     <div class="entryOverview">
       Returns the index of the first element of an array with a specified
value, or -1 if the element is not present in the array.

See <a href="http://tinyurl.com/developer-mozilla-org-array-indexof">http://tinyurl.com/developer-mozilla-org-array-indexof</a>
     </div>


    <! -- Method details -->
    <div class="entryDetails">

      <div class="detailsSection">
        <b>Arguments: </b>






<table class="horiz-rule">
     
   <tr class="even">
     <td>
        <span class="entryName">arr</span>
        : <div class="fullType">(<span class="type">null</span><span>&nbsp;|&nbsp;</span><span class="type">{length: number}</span>)</div>
        <div class="entryOverview">The array to be searched.</div>
     </td>
   </tr>
     
   <tr class="odd">
     <td>
        <span class="entryName">arr</span>
        : <div class="fullType">(<span class="type">null</span><span>&nbsp;|&nbsp;</span><span class="type">{length: number}</span>)</div>
        <div class="entryOverview">The array to be searched.</div>
     </td>
   </tr>
     
   <tr class="even">
     <td>
        <span class="entryName">arr</span>
        : <div class="fullType">(<span class="type">null</span><span>&nbsp;|&nbsp;</span><span class="type">{length: number}</span>)</div>
        <div class="entryOverview">The array to be searched.</div>
     </td>
   </tr>
     
   <tr class="odd">
     <td>
        <span class="entryName">obj</span>
        : <div class="fullType"><span class="type">*</span></div>
        <div class="entryOverview">The object for which we are searching.</div>
     </td>
   </tr>
     
   <tr class="even">
     <td>
        <span class="entryName">obj</span>
        : <div class="fullType"><span class="type">*</span></div>
        <div class="entryOverview">The object for which we are searching.</div>
     </td>
   </tr>
     
   <tr class="odd">
     <td>
        <span class="entryName">obj</span>
        : <div class="fullType"><span class="type">*</span></div>
        <div class="entryOverview">The object for which we are searching.</div>
     </td>
   </tr>
     
   <tr class="even">
     <td>
        <span class="entryName">opt_fromIndex</span>
        : <div class="fullType">(<span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Number">number</a></span><span>&nbsp;|&nbsp;</span><span class="type">undefined</span>)</div>
        <div class="entryOverview">The index at which to start the search. If omitted the search starts at index 0.</div>
     </td>
   </tr>
     
   <tr class="odd">
     <td>
        <span class="entryName">opt_fromIndex</span>
        : <div class="fullType">(<span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Number">number</a></span><span>&nbsp;|&nbsp;</span><span class="type">undefined</span>)</div>
        <div class="entryOverview">The index at which to start the search. If omitted the search starts at index 0.</div>
     </td>
   </tr>
     
   <tr class="even">
     <td>
        <span class="entryName">opt_fromIndex</span>
        : <div class="fullType">(<span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Number">number</a></span><span>&nbsp;|&nbsp;</span><span class="type">undefined</span>)</div>
        <div class="entryOverview">The index at which to start the search. If omitted the search starts at index 0.</div>
     </td>
   </tr>
  </table>
      </div>
   
      <div class="detailsSection">
        <b>Returns:</b>&nbsp;<div class="fullType"><span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Number">number</a></span></div>&nbsp;
            The index of the first matching array element.
      </div>
  
    </div>
   
  </td>


  <td class="view-code">
     <a href="closure_goog_array_array.js.source.html#line87">code &raquo;</a>
  </td>
     </tr>


     <tr class="even entry public">
       <td class="access"></td>






  <td>
    <a name="goog.array.insert"></a>


     <div class="arg">
       <img align="left" src="static/images/blank.gif">

        <span class="entryNamespace">goog.array.</span><span class="entryName">insert<span class="args">(<span class="arg">arr</span>,&nbsp;<span class="arg">obj</span>)</span>
        </span>
      </div>


     <div class="entryOverview">
       Pushes an item into an array, if it's not already in the array.
     </div>


    <! -- Method details -->
    <div class="entryDetails">

      <div class="detailsSection">
        <b>Arguments: </b>






<table class="horiz-rule">
     
   <tr class="even">
     <td>
        <span class="entryName">arr</span>
        : <div class="fullType">(<span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Array">Array</a></span>.&lt;<span class="type">T</span>&gt;<span>&nbsp;|&nbsp;</span><span class="type">null</span>)</div>
        <div class="entryOverview">Array into which to insert the item.</div>
     </td>
   </tr>
     
   <tr class="odd">
     <td>
        <span class="entryName">obj</span>
        : <div class="fullType"><span class="type">T</span></div>
        <div class="entryOverview">Value to add.</div>
     </td>
   </tr>
  </table>
      </div>
   
  
    </div>
   
  </td>


  <td class="view-code">
     <a href="closure_goog_array_array.js.source.html#line607">code &raquo;</a>
  </td>
     </tr>


     <tr class="odd entry public">
       <td class="access"></td>






  <td>
    <a name="goog.array.insertArrayAt"></a>


     <div class="arg">
       <img align="left" src="static/images/blank.gif">

        <span class="entryNamespace">goog.array.</span><span class="entryName">insertArrayAt<span class="args">(<span class="arg">arr</span>,&nbsp;<span class="arg">elementsToAdd</span>,&nbsp;<span class="arg">opt_i</span>)</span>
        </span>
      </div>


     <div class="entryOverview">
       Inserts at the given index of the array, all elements of another array.
     </div>


    <! -- Method details -->
    <div class="entryDetails">

      <div class="detailsSection">
        <b>Arguments: </b>






<table class="horiz-rule">
     
   <tr class="even">
     <td>
        <span class="entryName">arr</span>
        : <div class="fullType">(<span class="type">null</span><span>&nbsp;|&nbsp;</span><span class="type">{length: number}</span>)</div>
        <div class="entryOverview">The array to modify.</div>
     </td>
   </tr>
     
   <tr class="odd">
     <td>
        <span class="entryName">elementsToAdd</span>
        : <div class="fullType">(<span class="type">null</span><span>&nbsp;|&nbsp;</span><span class="type">{length: number}</span>)</div>
        <div class="entryOverview">The array of elements to add.</div>
     </td>
   </tr>
     
   <tr class="even">
     <td>
        <span class="entryName">opt_i</span>
        : <div class="fullType">(<span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Number">number</a></span><span>&nbsp;|&nbsp;</span><span class="type">undefined</span>)</div>
        <div class="entryOverview">The index at which to insert the object. If omitted, treated as 0. A negative index is counted from the end of the array.</div>
     </td>
   </tr>
  </table>
      </div>
   
  
    </div>
   
  </td>


  <td class="view-code">
     <a href="closure_goog_array_array.js.source.html#line633">code &raquo;</a>
  </td>
     </tr>


     <tr class="even entry public">
       <td class="access"></td>






  <td>
    <a name="goog.array.insertAt"></a>


     <div class="arg">
       <img align="left" src="static/images/blank.gif">

        <span class="entryNamespace">goog.array.</span><span class="entryName">insertAt<span class="args">(<span class="arg">arr</span>,&nbsp;<span class="arg">obj</span>,&nbsp;<span class="arg">opt_i</span>)</span>
        </span>
      </div>


     <div class="entryOverview">
       Inserts an object at the given index of the array.
     </div>


    <! -- Method details -->
    <div class="entryDetails">

      <div class="detailsSection">
        <b>Arguments: </b>






<table class="horiz-rule">
     
   <tr class="even">
     <td>
        <span class="entryName">arr</span>
        : <div class="fullType">(<span class="type">null</span><span>&nbsp;|&nbsp;</span><span class="type">{length: number}</span>)</div>
        <div class="entryOverview">The array to modify.</div>
     </td>
   </tr>
     
   <tr class="odd">
     <td>
        <span class="entryName">obj</span>
        : <div class="fullType"><span class="type">*</span></div>
        <div class="entryOverview">The object to insert.</div>
     </td>
   </tr>
     
   <tr class="even">
     <td>
        <span class="entryName">opt_i</span>
        : <div class="fullType">(<span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Number">number</a></span><span>&nbsp;|&nbsp;</span><span class="type">undefined</span>)</div>
        <div class="entryOverview">The index at which to insert the object. If omitted, treated as 0. A negative index is counted from the end of the array.</div>
     </td>
   </tr>
  </table>
      </div>
   
  
    </div>
   
  </td>


  <td class="view-code">
     <a href="closure_goog_array_array.js.source.html#line621">code &raquo;</a>
  </td>
     </tr>


     <tr class="odd entry public">
       <td class="access"></td>






  <td>
    <a name="goog.array.insertBefore"></a>


     <div class="arg">
       <img align="left" src="static/images/blank.gif">

        <span class="entryNamespace">goog.array.</span><span class="entryName">insertBefore<span class="args">(<span class="arg">arr</span>,&nbsp;<span class="arg">obj</span>,&nbsp;<span class="arg">opt_obj2</span>)</span>
        </span>
      </div>


     <div class="entryOverview">
       Inserts an object into an array before a specified object.
     </div>


    <! -- Method details -->
    <div class="entryDetails">

      <div class="detailsSection">
        <b>Arguments: </b>






<table class="horiz-rule">
     
   <tr class="even">
     <td>
        <span class="entryName">arr</span>
        : <div class="fullType">(<span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Array">Array</a></span>.&lt;<span class="type">T</span>&gt;<span>&nbsp;|&nbsp;</span><span class="type">null</span>)</div>
        <div class="entryOverview">The array to modify.</div>
     </td>
   </tr>
     
   <tr class="odd">
     <td>
        <span class="entryName">obj</span>
        : <div class="fullType"><span class="type">T</span></div>
        <div class="entryOverview">The object to insert.</div>
     </td>
   </tr>
     
   <tr class="even">
     <td>
        <span class="entryName">opt_obj2</span>
        : <div class="fullType">(<span class="type">T</span><span>&nbsp;|&nbsp;</span><span class="type">undefined</span>)</div>
        <div class="entryOverview">The object before which obj should be inserted. If obj2 is omitted or not found, obj is inserted at the end of the array.</div>
     </td>
   </tr>
  </table>
      </div>
   
  
    </div>
   
  </td>


  <td class="view-code">
     <a href="closure_goog_array_array.js.source.html#line646">code &raquo;</a>
  </td>
     </tr>


     <tr class="even entry public">
       <td class="access"></td>






  <td>
    <a name="goog.array.isEmpty"></a>


     <div class="arg">
       <img align="left" src="static/images/blank.gif">

        <span class="entryNamespace">goog.array.</span><span class="entryName">isEmpty<span class="args">(<span class="arg">arr</span>)</span>
        </span>
        &#8658; <div class="fullType"><span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Boolean">boolean</a></span></div>
      </div>


     <div class="entryOverview">
       Whether the array is empty.
     </div>


    <! -- Method details -->
    <div class="entryDetails">

      <div class="detailsSection">
        <b>Arguments: </b>






<table class="horiz-rule">
     
   <tr class="even">
     <td>
        <span class="entryName">arr</span>
        : <div class="fullType">(<span class="type">null</span><span>&nbsp;|&nbsp;</span><span class="type">{length: number}</span>)</div>
        <div class="entryOverview">The array to test.</div>
     </td>
   </tr>
  </table>
      </div>
   
      <div class="detailsSection">
        <b>Returns:</b>&nbsp;<div class="fullType"><span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Boolean">boolean</a></span></div>&nbsp;
            true if empty.
      </div>
  
    </div>
   
  </td>


  <td class="view-code">
     <a href="closure_goog_array_array.js.source.html#line580">code &raquo;</a>
  </td>
     </tr>


     <tr class="odd entry public">
       <td class="access"></td>






  <td>
    <a name="goog.array.isSorted"></a>


     <div class="arg">
       <img align="left" src="static/images/blank.gif">

        <span class="entryNamespace">goog.array.</span><span class="entryName">isSorted<span class="args">(<span class="arg">arr</span>,&nbsp;<span class="arg">opt_compareFn</span>,&nbsp;<span class="arg">opt_strict</span>)</span>
        </span>
        &#8658; <div class="fullType"><span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Boolean">boolean</a></span></div>
      </div>


     <div class="entryOverview">
       Tells if the array is sorted.
     </div>


    <! -- Method details -->
    <div class="entryDetails">

      <div class="detailsSection">
        <b>Arguments: </b>






<table class="horiz-rule">
     
   <tr class="even">
     <td>
        <span class="entryName">arr</span>
        : <div class="fullType"><span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Array">Array</a></span>.&lt;<span class="type">T</span>&gt;</div>
        <div class="entryOverview">The array.</div>
     </td>
   </tr>
     
   <tr class="odd">
     <td>
        <span class="entryName">opt_compareFn</span>
        : <div class="fullType">(<span class="type">function (T, T): number</span><span>&nbsp;|&nbsp;</span><span class="type">null</span><span>&nbsp;|&nbsp;</span><span class="type">undefined</span>)</div>
        <div class="entryOverview">Function to compare the array elements. Should take 2 arguments to compare, and return a negative number, zero, or a positive number depending on whether the first argument is less than, equal to, or greater than the second.</div>
     </td>
   </tr>
     
   <tr class="even">
     <td>
        <span class="entryName">opt_strict</span>
        : <div class="fullType">(<span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Boolean">boolean</a></span><span>&nbsp;|&nbsp;</span><span class="type">undefined</span>)</div>
        <div class="entryOverview">If true no equal elements are allowed.</div>
     </td>
   </tr>
  </table>
      </div>
   
      <div class="detailsSection">
        <b>Returns:</b>&nbsp;<div class="fullType"><span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Boolean">boolean</a></span></div>&nbsp;
            Whether the array is sorted.
      </div>
  
    </div>
   
  </td>


  <td class="view-code">
     <a href="closure_goog_array_array.js.source.html#line1116">code &raquo;</a>
  </td>
     </tr>


     <tr class="even entry public">
       <td class="access"></td>






  <td>
    <a name="goog.array.lastIndexOf"></a>


     <div class="arg">
       <img align="left" src="static/images/blank.gif">

        <span class="entryNamespace">goog.array.</span><span class="entryName">lastIndexOf<span class="args">(<span class="arg">arr</span>,&nbsp;<span class="arg">arr</span>,&nbsp;<span class="arg">arr</span>,&nbsp;<span class="arg">obj</span>,&nbsp;<span class="arg">obj</span>,&nbsp;<span class="arg">obj</span>,&nbsp;<span class="arg">opt_fromIndex</span>,&nbsp;<span class="arg">opt_fromIndex</span>,&nbsp;<span class="arg">opt_fromIndex</span>)</span>
        </span>
        &#8658; <div class="fullType"><span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Number">number</a></span></div>
      </div>


     <div class="entryOverview">
       Returns the index of the last element of an array with a specified value, or
-1 if the element is not present in the array.

See <a href="http://tinyurl.com/developer-mozilla-org-array-lastindexof">http://tinyurl.com/developer-mozilla-org-array-lastindexof</a>
     </div>


    <! -- Method details -->
    <div class="entryDetails">

      <div class="detailsSection">
        <b>Arguments: </b>






<table class="horiz-rule">
     
   <tr class="even">
     <td>
        <span class="entryName">arr</span>
        : <div class="fullType">(<span class="type">null</span><span>&nbsp;|&nbsp;</span><span class="type">{length: number}</span>)</div>
        <div class="entryOverview">The array to be searched.</div>
     </td>
   </tr>
     
   <tr class="odd">
     <td>
        <span class="entryName">arr</span>
        : <div class="fullType">(<span class="type">null</span><span>&nbsp;|&nbsp;</span><span class="type">{length: number}</span>)</div>
        <div class="entryOverview">The array to be searched.</div>
     </td>
   </tr>
     
   <tr class="even">
     <td>
        <span class="entryName">arr</span>
        : <div class="fullType">(<span class="type">null</span><span>&nbsp;|&nbsp;</span><span class="type">{length: number}</span>)</div>
        <div class="entryOverview">The array to be searched.</div>
     </td>
   </tr>
     
   <tr class="odd">
     <td>
        <span class="entryName">obj</span>
        : <div class="fullType"><span class="type">*</span></div>
        <div class="entryOverview">The object for which we are searching.</div>
     </td>
   </tr>
     
   <tr class="even">
     <td>
        <span class="entryName">obj</span>
        : <div class="fullType"><span class="type">*</span></div>
        <div class="entryOverview">The object for which we are searching.</div>
     </td>
   </tr>
     
   <tr class="odd">
     <td>
        <span class="entryName">obj</span>
        : <div class="fullType"><span class="type">*</span></div>
        <div class="entryOverview">The object for which we are searching.</div>
     </td>
   </tr>
     
   <tr class="even">
     <td>
        <span class="entryName">opt_fromIndex</span>
        : <div class="fullType">(<span class="type">null</span><span>&nbsp;|&nbsp;</span><span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Number">number</a></span><span>&nbsp;|&nbsp;</span><span class="type">undefined</span>)</div>
        <div class="entryOverview">The index at which to start the search. If omitted the search starts at the end of the array.</div>
     </td>
   </tr>
     
   <tr class="odd">
     <td>
        <span class="entryName">opt_fromIndex</span>
        : <div class="fullType">(<span class="type">null</span><span>&nbsp;|&nbsp;</span><span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Number">number</a></span><span>&nbsp;|&nbsp;</span><span class="type">undefined</span>)</div>
        <div class="entryOverview">The index at which to start the search. If omitted the search starts at the end of the array.</div>
     </td>
   </tr>
     
   <tr class="even">
     <td>
        <span class="entryName">opt_fromIndex</span>
        : <div class="fullType">(<span class="type">null</span><span>&nbsp;|&nbsp;</span><span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Number">number</a></span><span>&nbsp;|&nbsp;</span><span class="type">undefined</span>)</div>
        <div class="entryOverview">The index at which to start the search. If omitted the search starts at the end of the array.</div>
     </td>
   </tr>
  </table>
      </div>
   
      <div class="detailsSection">
        <b>Returns:</b>&nbsp;<div class="fullType"><span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Number">number</a></span></div>&nbsp;
            The index of the last matching array element.
      </div>
  
    </div>
   
  </td>


  <td class="view-code">
     <a href="closure_goog_array_array.js.source.html#line127">code &raquo;</a>
  </td>
     </tr>


     <tr class="odd entry public">
       <td class="access"></td>






  <td>
    <a name="goog.array.map"></a>


     <div class="arg">
       <img align="left" src="static/images/blank.gif">

        <span class="entryNamespace">goog.array.</span><span class="entryName">map<span class="args">(<span class="arg">arr</span>,&nbsp;<span class="arg">arr</span>,&nbsp;<span class="arg">arr</span>,&nbsp;<span class="arg">f</span>,&nbsp;<span class="arg">f</span>,&nbsp;<span class="arg">f</span>,&nbsp;<span class="arg">opt_obj</span>,&nbsp;<span class="arg">opt_obj</span>,&nbsp;<span class="arg">opt_obj</span>)</span>
        </span>
        &#8658; <div class="fullType"><span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Array">Array</a></span></div>
      </div>


     <div class="entryOverview">
       Calls a function for each element in an array and inserts the result into a
new array.

See <a href="http://tinyurl.com/developer-mozilla-org-array-map">http://tinyurl.com/developer-mozilla-org-array-map</a>
     </div>


    <! -- Method details -->
    <div class="entryDetails">

      <div class="detailsSection">
        <b>Arguments: </b>






<table class="horiz-rule">
     
   <tr class="even">
     <td>
        <span class="entryName">arr</span>
        : <div class="fullType">(<span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Array">Array</a></span>.&lt;<span class="type">T</span>&gt;<span>&nbsp;|&nbsp;</span><span class="type">null</span><span>&nbsp;|&nbsp;</span><span class="type">{length: number}</span>)</div>
        <div class="entryOverview">Array or array like object over which to iterate.</div>
     </td>
   </tr>
     
   <tr class="odd">
     <td>
        <span class="entryName">arr</span>
        : <div class="fullType">(<span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Array">Array</a></span>.&lt;<span class="type">T</span>&gt;<span>&nbsp;|&nbsp;</span><span class="type">null</span><span>&nbsp;|&nbsp;</span><span class="type">{length: number}</span>)</div>
        <div class="entryOverview">Array or array like object over which to iterate.</div>
     </td>
   </tr>
     
   <tr class="even">
     <td>
        <span class="entryName">arr</span>
        : <div class="fullType">(<span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Array">Array</a></span>.&lt;<span class="type">T</span>&gt;<span>&nbsp;|&nbsp;</span><span class="type">null</span><span>&nbsp;|&nbsp;</span><span class="type">{length: number}</span>)</div>
        <div class="entryOverview">Array or array like object over which to iterate.</div>
     </td>
   </tr>
     
   <tr class="odd">
     <td>
        <span class="entryName">f</span>
        : <div class="fullType">(<span>?</span><span class="type">function (this:S, T, number, ?): </span><span>&nbsp;|&nbsp;</span><span class="type">null</span>)</div>
        <div class="entryOverview">The function to call for every element. This function takes 3 arguments (the element, the index and the array) and should return something. The result will be inserted into a new array.</div>
     </td>
   </tr>
     
   <tr class="even">
     <td>
        <span class="entryName">f</span>
        : <div class="fullType">(<span>?</span><span class="type">function (this:S, T, number, ?): </span><span>&nbsp;|&nbsp;</span><span class="type">null</span>)</div>
        <div class="entryOverview">The function to call for every element. This function takes 3 arguments (the element, the index and the array) and should return something. The result will be inserted into a new array.</div>
     </td>
   </tr>
     
   <tr class="odd">
     <td>
        <span class="entryName">f</span>
        : <div class="fullType">(<span>?</span><span class="type">function (this:S, T, number, ?): </span><span>&nbsp;|&nbsp;</span><span class="type">null</span>)</div>
        <div class="entryOverview">The function to call for every element. This function takes 3 arguments (the element, the index and the array) and should return something. The result will be inserted into a new array.</div>
     </td>
   </tr>
     
   <tr class="even">
     <td>
        <span class="entryName">opt_obj</span>
        : <div class="fullType">(<span class="type">S</span><span>&nbsp;|&nbsp;</span><span class="type">undefined</span>)</div>
        <div class="entryOverview">The object to be used as the value of 'this' within f.</div>
     </td>
   </tr>
     
   <tr class="odd">
     <td>
        <span class="entryName">opt_obj</span>
        : <div class="fullType">(<span class="type">S</span><span>&nbsp;|&nbsp;</span><span class="type">undefined</span>)</div>
        <div class="entryOverview">The object to be used as the value of 'this' within f.</div>
     </td>
   </tr>
     
   <tr class="even">
     <td>
        <span class="entryName">opt_obj</span>
        : <div class="fullType">(<span class="type">S</span><span>&nbsp;|&nbsp;</span><span class="type">undefined</span>)</div>
        <div class="entryOverview">The object to be used as the value of 'this' within f.</div>
     </td>
   </tr>
  </table>
      </div>
   
      <div class="detailsSection">
        <b>Returns:</b>&nbsp;<div class="fullType"><span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Array">Array</a></span></div>&nbsp;
            a new array with the results from f.
      </div>
  
    </div>
   
  </td>


  <td class="view-code">
     <a href="closure_goog_array_array.js.source.html#line275">code &raquo;</a>
  </td>
     </tr>


     <tr class="even entry public">
       <td class="access"></td>






  <td>
    <a name="goog.array.peek"></a>


     <div class="arg">
       <img align="left" src="static/images/blank.gif">

        <span class="entryNamespace">goog.array.</span><span class="entryName">peek<span class="args">(<span class="arg">array</span>)</span>
        </span>
        &#8658; <div class="fullType"><span class="type">*</span></div>
      </div>


     <div class="entryOverview">
       Returns the last element in an array without removing it.
     </div>


    <! -- Method details -->
    <div class="entryDetails">

      <div class="detailsSection">
        <b>Arguments: </b>






<table class="horiz-rule">
     
   <tr class="even">
     <td>
        <span class="entryName">array</span>
        : <div class="fullType">(<span class="type">null</span><span>&nbsp;|&nbsp;</span><span class="type">{length: number}</span>)</div>
        <div class="entryOverview">The array.</div>
     </td>
   </tr>
  </table>
      </div>
   
      <div class="detailsSection">
        <b>Returns:</b>&nbsp;<div class="fullType"><span class="type">*</span></div>&nbsp;
            Last item in array.
      </div>
  
    </div>
   
  </td>


  <td class="view-code">
     <a href="closure_goog_array_array.js.source.html#line56">code &raquo;</a>
  </td>
     </tr>


     <tr class="odd entry public">
       <td class="access"></td>






  <td>
    <a name="goog.array.range"></a>


     <div class="arg">
       <img align="left" src="static/images/blank.gif">

        <span class="entryNamespace">goog.array.</span><span class="entryName">range<span class="args">(<span class="arg">startOrEnd</span>,&nbsp;<span class="arg">opt_end</span>,&nbsp;<span class="arg">opt_step</span>)</span>
        </span>
        &#8658; <div class="fullType"><span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Array">Array</a></span>.&lt;<span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Number">number</a></span>&gt;</div>
      </div>


     <div class="entryOverview">
       Creates a range of numbers in an arithmetic progression.

Range takes 1, 2, or 3 arguments:
<pre class="lang-js prettyprint">
range(5) is the same as range(0, 5, 1) and produces [0, 1, 2, 3, 4]
range(2, 5) is the same as range(2, 5, 1) and produces [2, 3, 4]
range(-2, -5, -1) produces [-2, -3, -4]
range(-2, -5, 1) produces [], since stepping by 1 wouldn't ever reach -5.
</pre>
     </div>


    <! -- Method details -->
    <div class="entryDetails">

      <div class="detailsSection">
        <b>Arguments: </b>






<table class="horiz-rule">
     
   <tr class="even">
     <td>
        <span class="entryName">startOrEnd</span>
        : <div class="fullType"><span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Number">number</a></span></div>
        <div class="entryOverview">The starting value of the range if an end argument is provided. Otherwise, the start value is 0, and this is the end value.</div>
     </td>
   </tr>
     
   <tr class="odd">
     <td>
        <span class="entryName">opt_end</span>
        : <div class="fullType">(<span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Number">number</a></span><span>&nbsp;|&nbsp;</span><span class="type">undefined</span>)</div>
        <div class="entryOverview">The optional end value of the range.</div>
     </td>
   </tr>
     
   <tr class="even">
     <td>
        <span class="entryName">opt_step</span>
        : <div class="fullType">(<span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Number">number</a></span><span>&nbsp;|&nbsp;</span><span class="type">undefined</span>)</div>
        <div class="entryOverview">The step size between range values. Defaults to 1 if opt_step is undefined or 0.</div>
     </td>
   </tr>
  </table>
      </div>
   
      <div class="detailsSection">
        <b>Returns:</b>&nbsp;<div class="fullType"><span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Array">Array</a></span>.&lt;<span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Number">number</a></span>&gt;</div>&nbsp;
            An array of numbers for the requested range. May be an empty array if adding the step would not converge toward the end value.
      </div>
  
    </div>
   
  </td>


  <td class="view-code">
     <a href="closure_goog_array_array.js.source.html#line1333">code &raquo;</a>
  </td>
     </tr>


     <tr class="even entry public">
       <td class="access"></td>






  <td>
    <a name="goog.array.reduce"></a>


     <div class="arg">
       <img align="left" src="static/images/blank.gif">

        <span class="entryNamespace">goog.array.</span><span class="entryName">reduce<span class="args">(<span class="arg">arr</span>,&nbsp;<span class="arg">f</span>,&nbsp;<span class="arg">val</span>,&nbsp;<span class="arg">opt_obj</span>)</span>
        </span>
        &#8658; <div class="fullType"><span class="type">R</span></div>
      </div>


     <div class="entryOverview">
       Passes every element of an array into a function and accumulates the result.

See <a href="http://tinyurl.com/developer-mozilla-org-array-reduce">http://tinyurl.com/developer-mozilla-org-array-reduce</a>

For example:
var a = [1, 2, 3, 4];
goog.array.reduce(a, function(r, v, i, arr) {return r + v;}, 0);
returns 10
     </div>


    <! -- Method details -->
    <div class="entryDetails">

      <div class="detailsSection">
        <b>Arguments: </b>






<table class="horiz-rule">
     
   <tr class="even">
     <td>
        <span class="entryName">arr</span>
        : <div class="fullType">(<span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Array">Array</a></span>.&lt;<span class="type">T</span>&gt;<span>&nbsp;|&nbsp;</span><span class="type">null</span><span>&nbsp;|&nbsp;</span><span class="type">{length: number}</span>)</div>
        <div class="entryOverview">Array or array like object over which to iterate.</div>
     </td>
   </tr>
     
   <tr class="odd">
     <td>
        <span class="entryName">f</span>
        : <div class="fullType">(<span class="type">function (this:S, R, T, number, ?): R</span><span>&nbsp;|&nbsp;</span><span class="type">null</span>)</div>
        <div class="entryOverview">The function to call for every element. This function takes 4 arguments (the function's previous result or the initial value, the value of the current array element, the current array index, and the array itself) function(previousValue, currentValue, index, array).</div>
     </td>
   </tr>
     
   <tr class="even">
     <td>
        <span class="entryName">val</span>
        : <div class="fullType"><span>?</span></div>
        <div class="entryOverview">The initial value to pass into the function on the first call.</div>
     </td>
   </tr>
     
   <tr class="odd">
     <td>
        <span class="entryName">opt_obj</span>
        : <div class="fullType">(<span class="type">S</span><span>&nbsp;|&nbsp;</span><span class="type">undefined</span>)</div>
        <div class="entryOverview">The object to be used as the value of 'this' within f.</div>
     </td>
   </tr>
  </table>
      </div>
   
      <div class="detailsSection">
        <b>Returns:</b>&nbsp;<div class="fullType"><span class="type">R</span></div>&nbsp;
            Result of evaluating f repeatedly across the values of the array.
      </div>
  
    </div>
   
  </td>


  <td class="view-code">
     <a href="closure_goog_array_array.js.source.html#line319">code &raquo;</a>
  </td>
     </tr>


     <tr class="odd entry public">
       <td class="access"></td>






  <td>
    <a name="goog.array.reduceRight"></a>


     <div class="arg">
       <img align="left" src="static/images/blank.gif">

        <span class="entryNamespace">goog.array.</span><span class="entryName">reduceRight<span class="args">(<span class="arg">arr</span>,&nbsp;<span class="arg">f</span>,&nbsp;<span class="arg">val</span>,&nbsp;<span class="arg">opt_obj</span>)</span>
        </span>
        &#8658; <div class="fullType"><span class="type">R</span></div>
      </div>


     <div class="entryOverview">
       Passes every element of an array into a function and accumulates the result,
starting from the last element and working towards the first.

See <a href="http://tinyurl.com/developer-mozilla-org-array-reduceright">http://tinyurl.com/developer-mozilla-org-array-reduceright</a>

For example:
var a = [&amp;#39;a&amp;#39;, &amp;#39;b&amp;#39;, &amp;#39;c&amp;#39;];
goog.array.reduceRight(a, function(r, v, i, arr) {return r + v;}, &amp;#39;&amp;#39;);
returns &amp;#39;cba&amp;#39;
     </div>


    <! -- Method details -->
    <div class="entryDetails">

      <div class="detailsSection">
        <b>Arguments: </b>






<table class="horiz-rule">
     
   <tr class="even">
     <td>
        <span class="entryName">arr</span>
        : <div class="fullType">(<span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Array">Array</a></span>.&lt;<span class="type">T</span>&gt;<span>&nbsp;|&nbsp;</span><span class="type">null</span><span>&nbsp;|&nbsp;</span><span class="type">{length: number}</span>)</div>
        <div class="entryOverview">Array or array like object over which to iterate.</div>
     </td>
   </tr>
     
   <tr class="odd">
     <td>
        <span class="entryName">f</span>
        : <div class="fullType">(<span class="type">function (this:S, R, T, number, ?): R</span><span>&nbsp;|&nbsp;</span><span class="type">null</span>)</div>
        <div class="entryOverview">The function to call for every element. This function takes 4 arguments (the function's previous result or the initial value, the value of the current array element, the current array index, and the array itself) function(previousValue, currentValue, index, array).</div>
     </td>
   </tr>
     
   <tr class="even">
     <td>
        <span class="entryName">val</span>
        : <div class="fullType"><span>?</span></div>
        <div class="entryOverview">The initial value to pass into the function on the first call.</div>
     </td>
   </tr>
     
   <tr class="odd">
     <td>
        <span class="entryName">opt_obj</span>
        : <div class="fullType">(<span class="type">S</span><span>&nbsp;|&nbsp;</span><span class="type">undefined</span>)</div>
        <div class="entryOverview">The object to be used as the value of 'this' within f.</div>
     </td>
   </tr>
  </table>
      </div>
   
      <div class="detailsSection">
        <b>Returns:</b>&nbsp;<div class="fullType"><span class="type">R</span></div>&nbsp;
            Object returned as a result of evaluating f repeatedly across the values of the array.
      </div>
  
    </div>
   
  </td>


  <td class="view-code">
     <a href="closure_goog_array_array.js.source.html#line361">code &raquo;</a>
  </td>
     </tr>


     <tr class="even entry public">
       <td class="access"></td>






  <td>
    <a name="goog.array.remove"></a>


     <div class="arg">
       <img align="left" src="static/images/blank.gif">

        <span class="entryNamespace">goog.array.</span><span class="entryName">remove<span class="args">(<span class="arg">arr</span>,&nbsp;<span class="arg">obj</span>)</span>
        </span>
        &#8658; <div class="fullType"><span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Boolean">boolean</a></span></div>
      </div>


     <div class="entryOverview">
       Removes the first occurrence of a particular value from an array.
     </div>


    <! -- Method details -->
    <div class="entryDetails">

      <div class="detailsSection">
        <b>Arguments: </b>






<table class="horiz-rule">
     
   <tr class="even">
     <td>
        <span class="entryName">arr</span>
        : <div class="fullType">(<span class="type">null</span><span>&nbsp;|&nbsp;</span><span class="type">{length: number}</span>)</div>
        <div class="entryOverview">Array from which to remove value.</div>
     </td>
   </tr>
     
   <tr class="odd">
     <td>
        <span class="entryName">obj</span>
        : <div class="fullType"><span class="type">*</span></div>
        <div class="entryOverview">Object to remove.</div>
     </td>
   </tr>
  </table>
      </div>
   
      <div class="detailsSection">
        <b>Returns:</b>&nbsp;<div class="fullType"><span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Boolean">boolean</a></span></div>&nbsp;
            True if an element was removed.
      </div>
  
    </div>
   
  </td>


  <td class="view-code">
     <a href="closure_goog_array_array.js.source.html#line662">code &raquo;</a>
  </td>
     </tr>


     <tr class="odd entry public">
       <td class="access"></td>






  <td>
    <a name="goog.array.removeAt"></a>


     <div class="arg">
       <img align="left" src="static/images/blank.gif">

        <span class="entryNamespace">goog.array.</span><span class="entryName">removeAt<span class="args">(<span class="arg">arr</span>,&nbsp;<span class="arg">i</span>)</span>
        </span>
        &#8658; <div class="fullType"><span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Boolean">boolean</a></span></div>
      </div>


     <div class="entryOverview">
       Removes from an array the element at index i
     </div>


    <! -- Method details -->
    <div class="entryDetails">

      <div class="detailsSection">
        <b>Arguments: </b>






<table class="horiz-rule">
     
   <tr class="even">
     <td>
        <span class="entryName">arr</span>
        : <div class="fullType">(<span class="type">null</span><span>&nbsp;|&nbsp;</span><span class="type">{length: number}</span>)</div>
        <div class="entryOverview">Array or array like object from which to remove value.</div>
     </td>
   </tr>
     
   <tr class="odd">
     <td>
        <span class="entryName">i</span>
        : <div class="fullType"><span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Number">number</a></span></div>
        <div class="entryOverview">The index to remove.</div>
     </td>
   </tr>
  </table>
      </div>
   
      <div class="detailsSection">
        <b>Returns:</b>&nbsp;<div class="fullType"><span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Boolean">boolean</a></span></div>&nbsp;
            True if an element was removed.
      </div>
  
    </div>
   
  </td>


  <td class="view-code">
     <a href="closure_goog_array_array.js.source.html#line679">code &raquo;</a>
  </td>
     </tr>


     <tr class="even entry public">
       <td class="access"></td>






  <td>
    <a name="goog.array.removeDuplicates"></a>


     <div class="arg">
       <img align="left" src="static/images/blank.gif">

        <span class="entryNamespace">goog.array.</span><span class="entryName">removeDuplicates<span class="args">(<span class="arg">arr</span>,&nbsp;<span class="arg">opt_rv</span>)</span>
        </span>
      </div>


     <div class="entryOverview">
       Removes all duplicates from an array (retaining only the first
occurrence of each array element).  This function modifies the
array in place and doesn&amp;#39;t change the order of the non-duplicate items.

For objects, duplicates are identified as having the same unique ID as
defined by goog.getUid.

Runtime: N,
Worstcase space: 2N (no dupes)
     </div>


    <! -- Method details -->
    <div class="entryDetails">

      <div class="detailsSection">
        <b>Arguments: </b>






<table class="horiz-rule">
     
   <tr class="even">
     <td>
        <span class="entryName">arr</span>
        : <div class="fullType">(<span class="type">null</span><span>&nbsp;|&nbsp;</span><span class="type">{length: number}</span>)</div>
        <div class="entryOverview">The array from which to remove duplicates.</div>
     </td>
   </tr>
     
   <tr class="odd">
     <td>
        <span class="entryName">opt_rv</span>
        : <div class="fullType">(<span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Array">Array</a></span><span>&nbsp;|&nbsp;</span><span class="type">null</span><span>&nbsp;|&nbsp;</span><span class="type">undefined</span>)</div>
        <div class="entryOverview">An optional array in which to return the results, instead of performing the removal inplace.  If specified, the original array will remain unchanged.</div>
     </td>
   </tr>
  </table>
      </div>
   
  
    </div>
   
  </td>


  <td class="view-code">
     <a href="closure_goog_array_array.js.source.html#line887">code &raquo;</a>
  </td>
     </tr>


     <tr class="odd entry public">
       <td class="access"></td>






  <td>
    <a name="goog.array.removeIf"></a>


     <div class="arg">
       <img align="left" src="static/images/blank.gif">

        <span class="entryNamespace">goog.array.</span><span class="entryName">removeIf<span class="args">(<span class="arg">arr</span>,&nbsp;<span class="arg">f</span>,&nbsp;<span class="arg">opt_obj</span>)</span>
        </span>
        &#8658; <div class="fullType"><span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Boolean">boolean</a></span></div>
      </div>


     <div class="entryOverview">
       Removes the first value that satisfies the given condition.
     </div>


    <! -- Method details -->
    <div class="entryDetails">

      <div class="detailsSection">
        <b>Arguments: </b>






<table class="horiz-rule">
     
   <tr class="even">
     <td>
        <span class="entryName">arr</span>
        : <div class="fullType">(<span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Array">Array</a></span>.&lt;<span class="type">T</span>&gt;<span>&nbsp;|&nbsp;</span><span class="type">null</span><span>&nbsp;|&nbsp;</span><span class="type">{length: number}</span>)</div>
        <div class="entryOverview">Array or array like object over which to iterate.</div>
     </td>
   </tr>
     
   <tr class="odd">
     <td>
        <span class="entryName">f</span>
        : <div class="fullType">(<span class="type">function (this:S, T, number, ?): boolean</span><span>&nbsp;|&nbsp;</span><span class="type">null</span>)</div>
        <div class="entryOverview">The function to call for every element. This function takes 3 arguments (the element, the index and the array) and should return a boolean.</div>
     </td>
   </tr>
     
   <tr class="even">
     <td>
        <span class="entryName">opt_obj</span>
        : <div class="fullType">(<span class="type">S</span><span>&nbsp;|&nbsp;</span><span class="type">undefined</span>)</div>
        <div class="entryOverview">An optional "this" context for the function.</div>
     </td>
   </tr>
  </table>
      </div>
   
      <div class="detailsSection">
        <b>Returns:</b>&nbsp;<div class="fullType"><span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Boolean">boolean</a></span></div>&nbsp;
            True if an element was removed.
      </div>
  
    </div>
   
  </td>


  <td class="view-code">
     <a href="closure_goog_array_array.js.source.html#line701">code &raquo;</a>
  </td>
     </tr>


     <tr class="even entry public">
       <td class="access"></td>






  <td>
    <a name="goog.array.repeat"></a>


     <div class="arg">
       <img align="left" src="static/images/blank.gif">

        <span class="entryNamespace">goog.array.</span><span class="entryName">repeat<span class="args">(<span class="arg">value</span>,&nbsp;<span class="arg">n</span>)</span>
        </span>
        &#8658; <div class="fullType"><span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Array">Array</a></span></div>
      </div>


     <div class="entryOverview">
       Returns an array consisting of the given value repeated N times.
     </div>


    <! -- Method details -->
    <div class="entryDetails">

      <div class="detailsSection">
        <b>Arguments: </b>






<table class="horiz-rule">
     
   <tr class="even">
     <td>
        <span class="entryName">value</span>
        : <div class="fullType"><span class="type">*</span></div>
        <div class="entryOverview">The value to repeat.</div>
     </td>
   </tr>
     
   <tr class="odd">
     <td>
        <span class="entryName">n</span>
        : <div class="fullType"><span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Number">number</a></span></div>
        <div class="entryOverview">The repeat count.</div>
     </td>
   </tr>
  </table>
      </div>
   
      <div class="detailsSection">
        <b>Returns:</b>&nbsp;<div class="fullType"><span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Array">Array</a></span></div>&nbsp;
            An array with the repeated value.
      </div>
  
    </div>
   
  </td>


  <td class="view-code">
     <a href="closure_goog_array_array.js.source.html#line1368">code &raquo;</a>
  </td>
     </tr>


     <tr class="odd entry public">
       <td class="access"></td>






  <td>
    <a name="goog.array.rotate"></a>


     <div class="arg">
       <img align="left" src="static/images/blank.gif">

        <span class="entryNamespace">goog.array.</span><span class="entryName">rotate<span class="args">(<span class="arg">array</span>,&nbsp;<span class="arg">n</span>)</span>
        </span>
        &#8658; <div class="fullType"><span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Array">Array</a></span>.&lt;<span class="type">T</span>&gt;</div>
      </div>


     <div class="entryOverview">
       Rotates an array in-place. After calling this method, the element at
index i will be the element previously at index (i - n) %
array.length, for all values of i between 0 and array.length - 1,
inclusive.

For example, suppose list comprises [t, a, n, k, s]. After invoking
rotate(array, 1) (or rotate(array, -4)), array will comprise [s, t, a, n, k].
     </div>


    <! -- Method details -->
    <div class="entryDetails">

      <div class="detailsSection">
        <b>Arguments: </b>






<table class="horiz-rule">
     
   <tr class="even">
     <td>
        <span class="entryName">array</span>
        : <div class="fullType"><span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Array">Array</a></span>.&lt;<span class="type">T</span>&gt;</div>
        <div class="entryOverview">The array to rotate.</div>
     </td>
   </tr>
     
   <tr class="odd">
     <td>
        <span class="entryName">n</span>
        : <div class="fullType"><span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Number">number</a></span></div>
        <div class="entryOverview">The amount to rotate.</div>
     </td>
   </tr>
  </table>
      </div>
   
      <div class="detailsSection">
        <b>Returns:</b>&nbsp;<div class="fullType"><span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Array">Array</a></span>.&lt;<span class="type">T</span>&gt;</div>&nbsp;
            The array.
      </div>
  
    </div>
   
  </td>


  <td class="view-code">
     <a href="closure_goog_array_array.js.source.html#line1412">code &raquo;</a>
  </td>
     </tr>


     <tr class="even entry public">
       <td class="access"></td>






  <td>
    <a name="goog.array.shuffle"></a>


     <div class="arg">
       <img align="left" src="static/images/blank.gif">

        <span class="entryNamespace">goog.array.</span><span class="entryName">shuffle<span class="args">(<span class="arg">arr</span>,&nbsp;<span class="arg">opt_randFn</span>)</span>
        </span>
      </div>


     <div class="entryOverview">
       Shuffles the values in the specified array using the Fisher-Yates in-place
shuffle (also known as the Knuth Shuffle). By default, calls Math.random()
and so resets the state of that random number generator. Similarly, may reset
the state of the any other specified random number generator.

Runtime: O(n)
     </div>


    <! -- Method details -->
    <div class="entryDetails">

      <div class="detailsSection">
        <b>Arguments: </b>






<table class="horiz-rule">
     
   <tr class="even">
     <td>
        <span class="entryName">arr</span>
        : <div class="fullType"><span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Array">Array</a></span></div>
        <div class="entryOverview">The array to be shuffled.</div>
     </td>
   </tr>
     
   <tr class="odd">
     <td>
        <span class="entryName">opt_randFn</span>
        : <div class="fullType">(<span class="type">function (): number</span><span>&nbsp;|&nbsp;</span><span class="type">undefined</span>)</div>
        <div class="entryOverview">Optional random function to use for shuffling. Takes no arguments, and returns a random number on the interval [0, 1). Defaults to Math.random() using JavaScript's built-in Math library.</div>
     </td>
   </tr>
  </table>
      </div>
   
  
    </div>
   
  </td>


  <td class="view-code">
     <a href="closure_goog_array_array.js.source.html#line1473">code &raquo;</a>
  </td>
     </tr>


     <tr class="odd entry public">
       <td class="access"></td>






  <td>
    <a name="goog.array.slice"></a>


     <div class="arg">
       <img align="left" src="static/images/blank.gif">

        <span class="entryNamespace">goog.array.</span><span class="entryName">slice<span class="args">(<span class="arg">arr</span>,&nbsp;<span class="arg">start</span>,&nbsp;<span class="arg">opt_end</span>)</span>
        </span>
        &#8658; <div class="fullType"><span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Array">Array</a></span>.&lt;<span class="type">T</span>&gt;</div>
      </div>


     <div class="entryOverview">
       Returns a new array from a segment of an array. This is a generic version of
Array slice. This means that it might work on other objects similar to
arrays, such as the arguments object.
     </div>


    <! -- Method details -->
    <div class="entryDetails">

      <div class="detailsSection">
        <b>Arguments: </b>






<table class="horiz-rule">
     
   <tr class="even">
     <td>
        <span class="entryName">arr</span>
        : <div class="fullType">(<span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Array">Array</a></span>.&lt;<span class="type">T</span>&gt;<span>&nbsp;|&nbsp;</span><span class="type">null</span><span>&nbsp;|&nbsp;</span><span class="type">{length: number}</span>)</div>
        <div class="entryOverview">The array from which to copy a segment.</div>
     </td>
   </tr>
     
   <tr class="odd">
     <td>
        <span class="entryName">start</span>
        : <div class="fullType"><span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Number">number</a></span></div>
        <div class="entryOverview">The index of the first element to copy.</div>
     </td>
   </tr>
     
   <tr class="even">
     <td>
        <span class="entryName">opt_end</span>
        : <div class="fullType">(<span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Number">number</a></span><span>&nbsp;|&nbsp;</span><span class="type">undefined</span>)</div>
        <div class="entryOverview">The index after the last element to copy.</div>
     </td>
   </tr>
  </table>
      </div>
   
      <div class="detailsSection">
        <b>Returns:</b>&nbsp;<div class="fullType"><span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Array">Array</a></span>.&lt;<span class="type">T</span>&gt;</div>&nbsp;
            A new array containing the specified segment of the original array.
      </div>
  
    </div>
   
  </td>


  <td class="view-code">
     <a href="closure_goog_array_array.js.source.html#line856">code &raquo;</a>
  </td>
     </tr>


     <tr class="even entry public">
       <td class="access"></td>






  <td>
    <a name="goog.array.some"></a>


     <div class="arg">
       <img align="left" src="static/images/blank.gif">

        <span class="entryNamespace">goog.array.</span><span class="entryName">some<span class="args">(<span class="arg">arr</span>,&nbsp;<span class="arg">arr</span>,&nbsp;<span class="arg">arr</span>,&nbsp;<span class="arg">f</span>,&nbsp;<span class="arg">f</span>,&nbsp;<span class="arg">f</span>,&nbsp;<span class="arg">opt_obj</span>,&nbsp;<span class="arg">opt_obj</span>,&nbsp;<span class="arg">opt_obj</span>)</span>
        </span>
        &#8658; <div class="fullType"><span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Boolean">boolean</a></span></div>
      </div>


     <div class="entryOverview">
       Calls f for each element of an array. If any call returns true, some()
returns true (without checking the remaining elements). If all calls
return false, some() returns false.

See <a href="http://tinyurl.com/developer-mozilla-org-array-some">http://tinyurl.com/developer-mozilla-org-array-some</a>
     </div>


    <! -- Method details -->
    <div class="entryDetails">

      <div class="detailsSection">
        <b>Arguments: </b>






<table class="horiz-rule">
     
   <tr class="even">
     <td>
        <span class="entryName">arr</span>
        : <div class="fullType">(<span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Array">Array</a></span>.&lt;<span class="type">T</span>&gt;<span>&nbsp;|&nbsp;</span><span class="type">null</span><span>&nbsp;|&nbsp;</span><span class="type">{length: number}</span>)</div>
        <div class="entryOverview">Array or array like object over which to iterate.</div>
     </td>
   </tr>
     
   <tr class="odd">
     <td>
        <span class="entryName">arr</span>
        : <div class="fullType">(<span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Array">Array</a></span>.&lt;<span class="type">T</span>&gt;<span>&nbsp;|&nbsp;</span><span class="type">null</span><span>&nbsp;|&nbsp;</span><span class="type">{length: number}</span>)</div>
        <div class="entryOverview">Array or array like object over which to iterate.</div>
     </td>
   </tr>
     
   <tr class="even">
     <td>
        <span class="entryName">arr</span>
        : <div class="fullType">(<span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Array">Array</a></span>.&lt;<span class="type">T</span>&gt;<span>&nbsp;|&nbsp;</span><span class="type">null</span><span>&nbsp;|&nbsp;</span><span class="type">{length: number}</span>)</div>
        <div class="entryOverview">Array or array like object over which to iterate.</div>
     </td>
   </tr>
     
   <tr class="odd">
     <td>
        <span class="entryName">f</span>
        : <div class="fullType">(<span class="type">function (this:S, T, number, ?): boolean</span><span>&nbsp;|&nbsp;</span><span class="type">null</span>)</div>
        <div class="entryOverview">The function to call for for every element. This function takes 3 arguments (the element, the index and the array) and should return a boolean.</div>
     </td>
   </tr>
     
   <tr class="even">
     <td>
        <span class="entryName">f</span>
        : <div class="fullType">(<span class="type">function (this:S, T, number, ?): boolean</span><span>&nbsp;|&nbsp;</span><span class="type">null</span>)</div>
        <div class="entryOverview">The function to call for for every element. This function takes 3 arguments (the element, the index and the array) and should return a boolean.</div>
     </td>
   </tr>
     
   <tr class="odd">
     <td>
        <span class="entryName">f</span>
        : <div class="fullType">(<span class="type">function (this:S, T, number, ?): boolean</span><span>&nbsp;|&nbsp;</span><span class="type">null</span>)</div>
        <div class="entryOverview">The function to call for for every element. This function takes 3 arguments (the element, the index and the array) and should return a boolean.</div>
     </td>
   </tr>
     
   <tr class="even">
     <td>
        <span class="entryName">opt_obj</span>
        : <div class="fullType">(<span class="type">S</span><span>&nbsp;|&nbsp;</span><span class="type">undefined</span>)</div>
        <div class="entryOverview">The object to be used as the value of 'this' within f.</div>
     </td>
   </tr>
     
   <tr class="odd">
     <td>
        <span class="entryName">opt_obj</span>
        : <div class="fullType">(<span class="type">S</span><span>&nbsp;|&nbsp;</span><span class="type">undefined</span>)</div>
        <div class="entryOverview">The object to be used as the value of 'this' within f.</div>
     </td>
   </tr>
     
   <tr class="even">
     <td>
        <span class="entryName">opt_obj</span>
        : <div class="fullType">(<span class="type">S</span><span>&nbsp;|&nbsp;</span><span class="type">undefined</span>)</div>
        <div class="entryOverview">The object to be used as the value of 'this' within f.</div>
     </td>
   </tr>
  </table>
      </div>
   
      <div class="detailsSection">
        <b>Returns:</b>&nbsp;<div class="fullType"><span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Boolean">boolean</a></span></div>&nbsp;
            true if any element passes the test.
      </div>
  
    </div>
   
  </td>


  <td class="view-code">
     <a href="closure_goog_array_array.js.source.html#line394">code &raquo;</a>
  </td>
     </tr>


     <tr class="odd entry public">
       <td class="access"></td>






  <td>
    <a name="goog.array.sort"></a>


     <div class="arg">
       <img align="left" src="static/images/blank.gif">

        <span class="entryNamespace">goog.array.</span><span class="entryName">sort<span class="args">(<span class="arg">arr</span>,&nbsp;<span class="arg">opt_compareFn</span>)</span>
        </span>
      </div>


     <div class="entryOverview">
       Sorts the specified array into ascending order.  If no opt_compareFn is
specified, elements are compared using
<code>goog.array.defaultCompare</code>, which compares the elements using
the built in &lt; and &gt; operators.  This will produce the expected behavior
for homogeneous arrays of String(s) and Number(s), unlike the native sort,
but will give unpredictable results for heterogenous lists of strings and
numbers with different numbers of digits.

This sort is not guaranteed to be stable.

Runtime: Same as <code>Array.prototype.sort</code>
     </div>


    <! -- Method details -->
    <div class="entryDetails">

      <div class="detailsSection">
        <b>Arguments: </b>






<table class="horiz-rule">
     
   <tr class="even">
     <td>
        <span class="entryName">arr</span>
        : <div class="fullType">(<span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Array">Array</a></span>.&lt;<span class="type">T</span>&gt;<span>&nbsp;|&nbsp;</span><span class="type">null</span>)</div>
        <div class="entryOverview">The array to be sorted.</div>
     </td>
   </tr>
     
   <tr class="odd">
     <td>
        <span class="entryName">opt_compareFn</span>
        : <div class="fullType">(<span class="type">function (T, T): number</span><span>&nbsp;|&nbsp;</span><span class="type">null</span><span>&nbsp;|&nbsp;</span><span class="type">undefined</span>)</div>
        <div class="entryOverview">Optional comparison function by which the array is to be ordered. Should take 2 arguments to compare, and return a negative number, zero, or a positive number depending on whether the first argument is less than, equal to, or greater than the second.</div>
     </td>
   </tr>
  </table>
      </div>
   
  
    </div>
   
  </td>


  <td class="view-code">
     <a href="closure_goog_array_array.js.source.html#line1043">code &raquo;</a>
  </td>
     </tr>


     <tr class="even entry public">
       <td class="access"></td>






  <td>
    <a name="goog.array.sortObjectsByKey"></a>


     <div class="arg">
       <img align="left" src="static/images/blank.gif">

        <span class="entryNamespace">goog.array.</span><span class="entryName">sortObjectsByKey<span class="args">(<span class="arg">arr</span>,&nbsp;<span class="arg">key</span>,&nbsp;<span class="arg">opt_compareFn</span>)</span>
        </span>
      </div>


     <div class="entryOverview">
       Sorts an array of objects by the specified object key and compare
function. If no compare function is provided, the key values are
compared in ascending order using <code>goog.array.defaultCompare</code>.
This won&amp;#39;t work for keys that get renamed by the compiler. So use
{&amp;#39;foo&amp;#39;: 1, &amp;#39;bar&amp;#39;: 2} rather than {foo: 1, bar: 2}.
     </div>


    <! -- Method details -->
    <div class="entryDetails">

      <div class="detailsSection">
        <b>Arguments: </b>






<table class="horiz-rule">
     
   <tr class="even">
     <td>
        <span class="entryName">arr</span>
        : <div class="fullType">(<span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Array">Array</a></span>.&lt;(<span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Object">Object</a></span><span>&nbsp;|&nbsp;</span><span class="type">null</span>)&gt;<span>&nbsp;|&nbsp;</span><span class="type">null</span>)</div>
        <div class="entryOverview">An array of objects to sort.</div>
     </td>
   </tr>
     
   <tr class="odd">
     <td>
        <span class="entryName">key</span>
        : <div class="fullType"><span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/String">string</a></span></div>
        <div class="entryOverview">The object key to sort by.</div>
     </td>
   </tr>
     
   <tr class="even">
     <td>
        <span class="entryName">opt_compareFn</span>
        : <div class="fullType">(<span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Function">Function</a></span><span>&nbsp;|&nbsp;</span><span class="type">null</span><span>&nbsp;|&nbsp;</span><span class="type">undefined</span>)</div>
        <div class="entryOverview">The function to use to compare key values.</div>
     </td>
   </tr>
  </table>
      </div>
   
  
    </div>
   
  </td>


  <td class="view-code">
     <a href="closure_goog_array_array.js.source.html#line1096">code &raquo;</a>
  </td>
     </tr>


     <tr class="odd entry public">
       <td class="access"></td>






  <td>
    <a name="goog.array.splice"></a>


     <div class="arg">
       <img align="left" src="static/images/blank.gif">

        <span class="entryNamespace">goog.array.</span><span class="entryName">splice<span class="args">(<span class="arg">arr</span>,&nbsp;<span class="arg">index</span>,&nbsp;<span class="arg">howMany</span>,&nbsp;<span class="arg">var_args</span>)</span>
        </span>
        &#8658; <div class="fullType"><span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Array">Array</a></span></div>
      </div>


     <div class="entryOverview">
       Adds or removes elements from an array. This is a generic version of Array
splice. This means that it might work on other objects similar to arrays,
such as the arguments object.
     </div>


    <! -- Method details -->
    <div class="entryDetails">

      <div class="detailsSection">
        <b>Arguments: </b>






<table class="horiz-rule">
     
   <tr class="even">
     <td>
        <span class="entryName">arr</span>
        : <div class="fullType">(<span class="type">null</span><span>&nbsp;|&nbsp;</span><span class="type">{length: number}</span>)</div>
        <div class="entryOverview">The array to modify.</div>
     </td>
   </tr>
     
   <tr class="odd">
     <td>
        <span class="entryName">index</span>
        : <div class="fullType">(<span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Number">number</a></span><span>&nbsp;|&nbsp;</span><span class="type">undefined</span>)</div>
        <div class="entryOverview">The index at which to start changing the array. If not defined, treated as 0.</div>
     </td>
   </tr>
     
   <tr class="even">
     <td>
        <span class="entryName">howMany</span>
        : <div class="fullType"><span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Number">number</a></span></div>
        <div class="entryOverview">How many elements to remove (0 means no removal. A value below 0 is treated as zero and so is any other non number. Numbers are floored).</div>
     </td>
   </tr>
     
   <tr class="odd">
     <td>
        <span class="entryName">var_args</span>
        : <div class="fullType"><span class="type">*</span></div>
        <div class="entryOverview">Optional, additional elements to insert into the array.</div>
     </td>
   </tr>
  </table>
      </div>
   
      <div class="detailsSection">
        <b>Returns:</b>&nbsp;<div class="fullType"><span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Array">Array</a></span></div>&nbsp;
            the removed elements.
      </div>
  
    </div>
   
  </td>


  <td class="view-code">
     <a href="closure_goog_array_array.js.source.html#line835">code &raquo;</a>
  </td>
     </tr>


     <tr class="even entry public">
       <td class="access"></td>






  <td>
    <a name="goog.array.stableSort"></a>


     <div class="arg">
       <img align="left" src="static/images/blank.gif">

        <span class="entryNamespace">goog.array.</span><span class="entryName">stableSort<span class="args">(<span class="arg">arr</span>,&nbsp;<span class="arg">opt_compareFn</span>)</span>
        </span>
      </div>


     <div class="entryOverview">
       Sorts the specified array into ascending order in a stable way.  If no
opt_compareFn is specified, elements are compared using
<code>goog.array.defaultCompare</code>, which compares the elements using
the built in &lt; and &gt; operators.  This will produce the expected behavior
for homogeneous arrays of String(s) and Number(s).

Runtime: Same as <code>Array.prototype.sort</code>, plus an additional
O(n) overhead of copying the array twice.
     </div>


    <! -- Method details -->
    <div class="entryDetails">

      <div class="detailsSection">
        <b>Arguments: </b>






<table class="horiz-rule">
     
   <tr class="even">
     <td>
        <span class="entryName">arr</span>
        : <div class="fullType">(<span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Array">Array</a></span>.&lt;<span class="type">T</span>&gt;<span>&nbsp;|&nbsp;</span><span class="type">null</span>)</div>
        <div class="entryOverview">The array to be sorted.</div>
     </td>
   </tr>
     
   <tr class="odd">
     <td>
        <span class="entryName">opt_compareFn</span>
        : <div class="fullType">(<span class="type">function (T, T): number</span><span>&nbsp;|&nbsp;</span><span class="type">null</span><span>&nbsp;|&nbsp;</span><span class="type">undefined</span>)</div>
        <div class="entryOverview">Optional comparison function by which the array is to be ordered. Should take 2 arguments to compare, and return a negative number, zero, or a positive number depending on whether the first argument is less than, equal to, or greater than the second.</div>
     </td>
   </tr>
  </table>
      </div>
   
  
    </div>
   
  </td>


  <td class="view-code">
     <a href="closure_goog_array_array.js.source.html#line1070">code &raquo;</a>
  </td>
     </tr>


     <tr class="odd entry public">
       <td class="access"></td>






  <td>
    <a name="goog.array.toArray"></a>


     <div class="arg">
       <img align="left" src="static/images/blank.gif">

        <span class="entryNamespace">goog.array.</span><span class="entryName">toArray<span class="args">(<span class="arg">object</span>)</span>
        </span>
        &#8658; <div class="fullType"><span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Array">Array</a></span></div>
      </div>


     <div class="entryOverview">
       Converts an object to an array.
     </div>


    <! -- Method details -->
    <div class="entryDetails">

      <div class="detailsSection">
        <b>Arguments: </b>






<table class="horiz-rule">
     
   <tr class="even">
     <td>
        <span class="entryName">object</span>
        : <div class="fullType">(<span class="type">null</span><span>&nbsp;|&nbsp;</span><span class="type">{length: number}</span>)</div>
        <div class="entryOverview">The object to convert to an array.</div>
     </td>
   </tr>
  </table>
      </div>
   
      <div class="detailsSection">
        <b>Returns:</b>&nbsp;<div class="fullType"><span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Array">Array</a></span></div>&nbsp;
            The object converted into an array. If object has a length property, every property indexed with a non-negative number less than length will be included in the result. If object does not have a length property, an empty array will be returned.
      </div>
  
    </div>
   
  </td>


  <td class="view-code">
     <a href="closure_goog_array_array.js.source.html#line752">code &raquo;</a>
  </td>
     </tr>


     <tr class="even entry public">
       <td class="access"></td>






  <td>
    <a name="goog.array.toObject"></a>


     <div class="arg">
       <img align="left" src="static/images/blank.gif">

        <span class="entryNamespace">goog.array.</span><span class="entryName">toObject<span class="args">(<span class="arg">arr</span>,&nbsp;<span class="arg">keyFunc</span>,&nbsp;<span class="arg">opt_obj</span>)</span>
        </span>
        &#8658; <div class="fullType"><span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Object">Object</a></span>.&lt;<span>?</span>,<span class="type">T</span>&gt;</div>
      </div>


     <div class="entryOverview">
       Creates a new object built from the provided array and the key-generation
function.
     </div>


    <! -- Method details -->
    <div class="entryDetails">

      <div class="detailsSection">
        <b>Arguments: </b>






<table class="horiz-rule">
     
   <tr class="even">
     <td>
        <span class="entryName">arr</span>
        : <div class="fullType">(<span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Array">Array</a></span>.&lt;<span class="type">T</span>&gt;<span>&nbsp;|&nbsp;</span><span class="type">null</span><span>&nbsp;|&nbsp;</span><span class="type">{length: number}</span>)</div>
        <div class="entryOverview">Array or array like object over which to iterate whose elements will be the values in the new object.</div>
     </td>
   </tr>
     
   <tr class="odd">
     <td>
        <span class="entryName">keyFunc</span>
        : <div class="fullType">(<span class="type">function (this:S, T, number, ?): string</span><span>&nbsp;|&nbsp;</span><span class="type">null</span>)</div>
        <div class="entryOverview">The function to call for every element. This function takes 3 arguments (the element, the index and the array) and should return a string that will be used as the key for the element in the new object. If the function returns the same key for more than one element, the value for that key is implementation-defined.</div>
     </td>
   </tr>
     
   <tr class="even">
     <td>
        <span class="entryName">opt_obj</span>
        : <div class="fullType">(<span class="type">S</span><span>&nbsp;|&nbsp;</span><span class="type">undefined</span>)</div>
        <div class="entryOverview">The object to be used as the value of 'this' within keyFunc.</div>
     </td>
   </tr>
  </table>
      </div>
   
      <div class="detailsSection">
        <b>Returns:</b>&nbsp;<div class="fullType"><span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Object">Object</a></span>.&lt;<span>?</span>,<span class="type">T</span>&gt;</div>&nbsp;
            The new object.
      </div>
  
    </div>
   
  </td>


  <td class="view-code">
     <a href="closure_goog_array_array.js.source.html#line1304">code &raquo;</a>
  </td>
     </tr>


     <tr class="odd entry public">
       <td class="access"></td>






  <td>
    <a name="goog.array.zip"></a>


     <div class="arg">
       <img align="left" src="static/images/blank.gif">

        <span class="entryNamespace">goog.array.</span><span class="entryName">zip<span class="args">(<span class="arg">var_args</span>)</span>
        </span>
        &#8658; <div class="fullType"><span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Array">Array</a></span>.&lt;<span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Array">Array</a></span>&gt;</div>
      </div>


     <div class="entryOverview">
       Creates a new array for which the element at position i is an array of the
ith element of the provided arrays.  The returned array will only be as long
as the shortest array provided; additional values are ignored.  For example,
the result of zipping [1, 2] and [3, 4, 5] is [[1,3], [2, 4]].

This is similar to the zip() function in Python.  See <a href="http://docs.python.org/library/functions.html#zip">http://docs.python.org/library/functions.html#zip</a>
     </div>


    <! -- Method details -->
    <div class="entryDetails">

      <div class="detailsSection">
        <b>Arguments: </b>






<table class="horiz-rule">
     
   <tr class="even">
     <td>
        <span class="entryName">var_args</span>
        : <div class="fullType">(<span class="type">undefined</span><span>&nbsp;|&nbsp;</span><span class="type">{length: number}</span>)</div>
        <div class="entryOverview">Arrays to be combined.</div>
     </td>
   </tr>
  </table>
      </div>
   
      <div class="detailsSection">
        <b>Returns:</b>&nbsp;<div class="fullType"><span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Array">Array</a></span>.&lt;<span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Array">Array</a></span>&gt;</div>&nbsp;
            A new array of arrays created from provided arrays.
      </div>
  
    </div>
   
  </td>


  <td class="view-code">
     <a href="closure_goog_array_array.js.source.html#line1439">code &raquo;</a>
  </td>
     </tr>


  </table>
</div>






      <!-- Column 1 end -->
    </div>

        <div class="col2">
          <!-- Column 2 start -->
          <div class="col2-c">
            <h2 id="ref-head">Directory array</h2>
            <div id="localView"></div>
          </div>

          <div class="col2-c">
            <h2 id="ref-head">File Reference</h2>
            <div id="sideFileIndex" rootPath="" current="array/array.js"></div>
          </div>
          <!-- Column 2 end -->
        </div>
</div>
</div>

</body>
</html>
